Compare commits

..

2 Commits

Author SHA1 Message Date
speakeasybot
9b0ac863a4 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.513.4 2025-03-10 00:10:03 +00:00
speakeasybot
33fe0755b5 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.513.4 2025-03-08 00:09:26 +00:00
110 changed files with 5458 additions and 4280 deletions

File diff suppressed because one or more lines are too long

View File

@@ -7,13 +7,15 @@ generation:
useClassNamesForArrayFields: true
fixes:
nameResolutionDec2023: true
nameResolutionFeb2025: false
parameterOrderingFeb2024: true
requestResponseComponentNamesFeb2024: true
securityFeb2025: false
auth:
oAuth2ClientCredentialsEnabled: true
oAuth2PasswordEnabled: false
go:
version: 0.19.0
version: 0.19.2
additionalDependencies: {}
allowUnknownFieldsInWeakUnions: false
clientServerStatusCodesAsErrors: true

View File

@@ -1,4 +1,4 @@
speakeasyVersion: 1.488.0
speakeasyVersion: 1.513.4
sources:
my-source:
sourceNamespace: my-source
@@ -9,19 +9,19 @@ sources:
- main
plexapi:
sourceNamespace: plexapi
sourceRevisionDigest: sha256:0efb9039972533bf1190dfc1ffb377429a8e486b6299442e732f662c1ffbeca6
sourceBlobDigest: sha256:038d73166cc9db17f514d511cfe4365ea032f4ebcb247fa86b7aa1bba0e1ab46
sourceRevisionDigest: sha256:2066ba94b55e21d651c79003e3cf402fb77c52a0969fc52310b3383fbed038f4
sourceBlobDigest: sha256:1737023e29cd9cf36c07ccd8c8c48c47e14f47ce22b4d6ba9ee241afbbd8f351
tags:
- latest
- speakeasy-sdk-regen-1739232555
- speakeasy-sdk-regen-1741565327
targets:
plexgo:
source: plexapi
sourceNamespace: plexapi
sourceRevisionDigest: sha256:0efb9039972533bf1190dfc1ffb377429a8e486b6299442e732f662c1ffbeca6
sourceBlobDigest: sha256:038d73166cc9db17f514d511cfe4365ea032f4ebcb247fa86b7aa1bba0e1ab46
sourceRevisionDigest: sha256:2066ba94b55e21d651c79003e3cf402fb77c52a0969fc52310b3383fbed038f4
sourceBlobDigest: sha256:1737023e29cd9cf36c07ccd8c8c48c47e14f47ce22b4d6ba9ee241afbbd8f351
codeSamplesNamespace: code-samples-go-plexgo
codeSamplesRevisionDigest: sha256:96b23ddcc80db35c9852b114146c3be99c47b4375338f8d605199a53c0498cc8
codeSamplesRevisionDigest: sha256:1c039b4b936c2e504fdce037068ca992efeb22b94f6fc013db92ed1923c0bc33
workflow:
workflowVersion: 1.0.0
speakeasyVersion: latest

View File

@@ -152,7 +152,6 @@ func main() {
* [GetMediaMetaData](docs/sdks/library/README.md#getmediametadata) - Get Media Metadata
* [GetMetadataChildren](docs/sdks/library/README.md#getmetadatachildren) - Get Items Children
* [GetTopWatchedContent](docs/sdks/library/README.md#gettopwatchedcontent) - Get Top Watched Content
* [GetOnDeck](docs/sdks/library/README.md#getondeck) - Get On Deck
### [Log](docs/sdks/log/README.md)
@@ -397,13 +396,48 @@ func main() {
### Server Variables
The default server `{protocol}://{ip}:{port}` contains variables and is set to `https://10.10.10.47:32400` by default. To override default values, the following options are available when initializing the SDK client instance:
* `WithProtocol(protocol ServerProtocol)`
* `WithIP(ip string)`
* `WithPort(port string)`
| Variable | Option | Supported Values | Default | Description |
| ---------- | --------------------------------------- | -------------------------- | --------------- | ---------------------------------------------- |
| `protocol` | `WithProtocol(protocol ServerProtocol)` | - `"http"`<br/>- `"https"` | `"https"` | The protocol to use for the server connection |
| `ip` | `WithIP(ip string)` | string | `"10.10.10.47"` | The IP address or hostname of your Plex Server |
| `port` | `WithPort(port string)` | string | `"32400"` | The port of your Plex Server |
#### Example
```go
package main
import (
"context"
"github.com/LukeHagar/plexgo"
"log"
)
func main() {
ctx := context.Background()
s := plexgo.New(
plexgo.WithProtocol("https"),
plexgo.WithIP("e0c3:bcc0:6bac:dccc:c4ec:34b1:ca98:4cb9"),
plexgo.WithPort("40311"),
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
)
res, err := s.Server.GetServerCapabilities(ctx)
if err != nil {
log.Fatal(err)
}
if res.Object != nil {
// handle response
}
}
```
### Override Server URL Per-Client
The default server can also be overridden globally using the `WithServerURL(serverURL string)` option when initializing the SDK client instance. For example:
The default server can be overridden globally using the `WithServerURL(serverURL string)` option when initializing the SDK client instance. For example:
```go
package main

View File

@@ -1052,4 +1052,24 @@ Based on:
### Generated
- [go v0.19.0] .
### Releases
- [Go v0.19.0] https://github.com/LukeHagar/plexgo/releases/tag/v0.19.0 - .
- [Go v0.19.0] https://github.com/LukeHagar/plexgo/releases/tag/v0.19.0 - .
## 2025-03-08 00:07:57
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.513.4 (2.545.4) https://github.com/speakeasy-api/speakeasy
### Generated
- [go v0.19.1] .
### Releases
- [Go v0.19.1] https://github.com/LukeHagar/plexgo/releases/tag/v0.19.1 - .
## 2025-03-10 00:08:31
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.513.4 (2.545.4) https://github.com/speakeasy-api/speakeasy
### Generated
- [go v0.19.2] .
### Releases
- [Go v0.19.2] https://github.com/LukeHagar/plexgo/releases/tag/v0.19.2 - .

View File

@@ -35,13 +35,6 @@ func newActivities(sdkConfig sdkConfiguration) *Activities {
// GetServerActivities - Get Server Activities
// Get Server Activities
func (s *Activities) GetServerActivities(ctx context.Context, opts ...operations.Option) (*operations.GetServerActivitiesResponse, error) {
hookCtx := hooks.HookContext{
Context: ctx,
OperationID: "getServerActivities",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
o := operations.Options{}
supportedOptions := []string{
operations.SupportedOptionRetries,
@@ -65,6 +58,14 @@ func (s *Activities) GetServerActivities(ctx context.Context, opts ...operations
return nil, fmt.Errorf("error generating URL: %w", err)
}
hookCtx := hooks.HookContext{
BaseURL: baseURL,
Context: ctx,
OperationID: "getServerActivities",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
timeout := o.Timeout
if timeout == nil {
timeout = s.sdkConfiguration.Timeout
@@ -279,13 +280,6 @@ func (s *Activities) GetServerActivities(ctx context.Context, opts ...operations
// CancelServerActivities - Cancel Server Activities
// Cancel Server Activities
func (s *Activities) CancelServerActivities(ctx context.Context, activityUUID string, opts ...operations.Option) (*operations.CancelServerActivitiesResponse, error) {
hookCtx := hooks.HookContext{
Context: ctx,
OperationID: "cancelServerActivities",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
request := operations.CancelServerActivitiesRequest{
ActivityUUID: activityUUID,
}
@@ -313,6 +307,14 @@ func (s *Activities) CancelServerActivities(ctx context.Context, activityUUID st
return nil, fmt.Errorf("error generating URL: %w", err)
}
hookCtx := hooks.HookContext{
BaseURL: baseURL,
Context: ctx,
OperationID: "cancelServerActivities",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
timeout := o.Timeout
if timeout == nil {
timeout = s.sdkConfiguration.Timeout

View File

@@ -29,13 +29,6 @@ func newAuthentication(sdkConfig sdkConfiguration) *Authentication {
// GetTransientToken - Get a Transient Token
// This endpoint provides the caller with a temporary token with the same access level as the caller's token. These tokens are valid for up to 48 hours and are destroyed if the server instance is restarted.
func (s *Authentication) GetTransientToken(ctx context.Context, type_ operations.GetTransientTokenQueryParamType, scope operations.Scope, opts ...operations.Option) (*operations.GetTransientTokenResponse, error) {
hookCtx := hooks.HookContext{
Context: ctx,
OperationID: "getTransientToken",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
request := operations.GetTransientTokenRequest{
Type: type_,
Scope: scope,
@@ -64,6 +57,14 @@ func (s *Authentication) GetTransientToken(ctx context.Context, type_ operations
return nil, fmt.Errorf("error generating URL: %w", err)
}
hookCtx := hooks.HookContext{
BaseURL: baseURL,
Context: ctx,
OperationID: "getTransientToken",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
timeout := o.Timeout
if timeout == nil {
timeout = s.sdkConfiguration.Timeout
@@ -263,13 +264,6 @@ func (s *Authentication) GetTransientToken(ctx context.Context, type_ operations
// If a caller requires connection details and a transient token for a source that is known to the server, for example a cloud media provider or shared PMS, then this endpoint can be called. This endpoint is only accessible with either an admin token or a valid transient token generated from an admin token.
// Note: requires Plex Media Server >= 1.15.4.
func (s *Authentication) GetSourceConnectionInformation(ctx context.Context, source string, opts ...operations.Option) (*operations.GetSourceConnectionInformationResponse, error) {
hookCtx := hooks.HookContext{
Context: ctx,
OperationID: "getSourceConnectionInformation",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
request := operations.GetSourceConnectionInformationRequest{
Source: source,
}
@@ -297,6 +291,14 @@ func (s *Authentication) GetSourceConnectionInformation(ctx context.Context, sou
return nil, fmt.Errorf("error generating URL: %w", err)
}
hookCtx := hooks.HookContext{
BaseURL: baseURL,
Context: ctx,
OperationID: "getSourceConnectionInformation",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
timeout := o.Timeout
if timeout == nil {
timeout = s.sdkConfiguration.Timeout
@@ -495,13 +497,6 @@ func (s *Authentication) GetSourceConnectionInformation(ctx context.Context, sou
// GetTokenDetails - Get Token Details
// Get the User data from the provided X-Plex-Token
func (s *Authentication) GetTokenDetails(ctx context.Context, opts ...operations.Option) (*operations.GetTokenDetailsResponse, error) {
hookCtx := hooks.HookContext{
Context: ctx,
OperationID: "getTokenDetails",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
o := operations.Options{}
supportedOptions := []string{
operations.SupportedOptionRetries,
@@ -524,6 +519,14 @@ func (s *Authentication) GetTokenDetails(ctx context.Context, opts ...operations
return nil, fmt.Errorf("error generating URL: %w", err)
}
hookCtx := hooks.HookContext{
BaseURL: baseURL,
Context: ctx,
OperationID: "getTokenDetails",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
timeout := o.Timeout
if timeout == nil {
timeout = s.sdkConfiguration.Timeout
@@ -738,13 +741,6 @@ func (s *Authentication) GetTokenDetails(ctx context.Context, opts ...operations
// PostUsersSignInData - Get User Sign In Data
// Sign in user with username and password and return user data with Plex authentication token
func (s *Authentication) PostUsersSignInData(ctx context.Context, request operations.PostUsersSignInDataRequest, opts ...operations.Option) (*operations.PostUsersSignInDataResponse, error) {
hookCtx := hooks.HookContext{
Context: ctx,
OperationID: "post-users-sign-in-data",
OAuth2Scopes: []string{},
SecuritySource: nil,
}
o := operations.Options{}
supportedOptions := []string{
operations.SupportedOptionRetries,
@@ -767,6 +763,13 @@ func (s *Authentication) PostUsersSignInData(ctx context.Context, request operat
return nil, fmt.Errorf("error generating URL: %w", err)
}
hookCtx := hooks.HookContext{
BaseURL: baseURL,
Context: ctx,
OperationID: "post-users-sign-in-data",
OAuth2Scopes: []string{},
SecuritySource: nil,
}
bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, true, "RequestBody", "form", `request:"mediaType=application/x-www-form-urlencoded"`)
if err != nil {
return nil, err

View File

@@ -29,13 +29,6 @@ func newButler(sdkConfig sdkConfiguration) *Butler {
// GetButlerTasks - Get Butler tasks
// Returns a list of butler tasks
func (s *Butler) GetButlerTasks(ctx context.Context, opts ...operations.Option) (*operations.GetButlerTasksResponse, error) {
hookCtx := hooks.HookContext{
Context: ctx,
OperationID: "getButlerTasks",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
o := operations.Options{}
supportedOptions := []string{
operations.SupportedOptionRetries,
@@ -59,6 +52,14 @@ func (s *Butler) GetButlerTasks(ctx context.Context, opts ...operations.Option)
return nil, fmt.Errorf("error generating URL: %w", err)
}
hookCtx := hooks.HookContext{
BaseURL: baseURL,
Context: ctx,
OperationID: "getButlerTasks",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
timeout := o.Timeout
if timeout == nil {
timeout = s.sdkConfiguration.Timeout
@@ -277,13 +278,6 @@ func (s *Butler) GetButlerTasks(ctx context.Context, opts ...operations.Option)
// 3. If a task is configured to run at a random time during the configured window and we are within that window, the task will be scheduled at a random time within the window.
// 4. If we are outside the configured window, the task will start immediately.
func (s *Butler) StartAllTasks(ctx context.Context, opts ...operations.Option) (*operations.StartAllTasksResponse, error) {
hookCtx := hooks.HookContext{
Context: ctx,
OperationID: "startAllTasks",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
o := operations.Options{}
supportedOptions := []string{
operations.SupportedOptionRetries,
@@ -307,6 +301,14 @@ func (s *Butler) StartAllTasks(ctx context.Context, opts ...operations.Option) (
return nil, fmt.Errorf("error generating URL: %w", err)
}
hookCtx := hooks.HookContext{
BaseURL: baseURL,
Context: ctx,
OperationID: "startAllTasks",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
timeout := o.Timeout
if timeout == nil {
timeout = s.sdkConfiguration.Timeout
@@ -501,13 +503,6 @@ func (s *Butler) StartAllTasks(ctx context.Context, opts ...operations.Option) (
// StopAllTasks - Stop all Butler tasks
// This endpoint will stop all currently running tasks and remove any scheduled tasks from the queue.
func (s *Butler) StopAllTasks(ctx context.Context, opts ...operations.Option) (*operations.StopAllTasksResponse, error) {
hookCtx := hooks.HookContext{
Context: ctx,
OperationID: "stopAllTasks",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
o := operations.Options{}
supportedOptions := []string{
operations.SupportedOptionRetries,
@@ -531,6 +526,14 @@ func (s *Butler) StopAllTasks(ctx context.Context, opts ...operations.Option) (*
return nil, fmt.Errorf("error generating URL: %w", err)
}
hookCtx := hooks.HookContext{
BaseURL: baseURL,
Context: ctx,
OperationID: "stopAllTasks",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
timeout := o.Timeout
if timeout == nil {
timeout = s.sdkConfiguration.Timeout
@@ -729,13 +732,6 @@ func (s *Butler) StopAllTasks(ctx context.Context, opts ...operations.Option) (*
// 3. If a task is configured to run at a random time during the configured window and we are within that window, the task will be scheduled at a random time within the window.
// 4. If we are outside the configured window, the task will start immediately.
func (s *Butler) StartTask(ctx context.Context, taskName operations.TaskName, opts ...operations.Option) (*operations.StartTaskResponse, error) {
hookCtx := hooks.HookContext{
Context: ctx,
OperationID: "startTask",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
request := operations.StartTaskRequest{
TaskName: taskName,
}
@@ -763,6 +759,14 @@ func (s *Butler) StartTask(ctx context.Context, taskName operations.TaskName, op
return nil, fmt.Errorf("error generating URL: %w", err)
}
hookCtx := hooks.HookContext{
BaseURL: baseURL,
Context: ctx,
OperationID: "startTask",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
timeout := o.Timeout
if timeout == nil {
timeout = s.sdkConfiguration.Timeout
@@ -959,13 +963,6 @@ func (s *Butler) StartTask(ctx context.Context, taskName operations.TaskName, op
// StopTask - Stop a single Butler task
// This endpoint will stop a currently running task by name, or remove it from the list of scheduled tasks if it exists. See the section above for a list of task names for this endpoint.
func (s *Butler) StopTask(ctx context.Context, taskName operations.PathParamTaskName, opts ...operations.Option) (*operations.StopTaskResponse, error) {
hookCtx := hooks.HookContext{
Context: ctx,
OperationID: "stopTask",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
request := operations.StopTaskRequest{
TaskName: taskName,
}
@@ -993,6 +990,14 @@ func (s *Butler) StopTask(ctx context.Context, taskName operations.PathParamTask
return nil, fmt.Errorf("error generating URL: %w", err)
}
hookCtx := hooks.HookContext{
BaseURL: baseURL,
Context: ctx,
OperationID: "stopTask",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
timeout := o.Timeout
if timeout == nil {
timeout = s.sdkConfiguration.Timeout

File diff suppressed because it is too large Load Diff

View File

@@ -3,6 +3,6 @@
## Fields
| Field | Type | Required | Description | Example |
| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ |
| `Tag` | **string* | :heavy_minus_sign: | N/A | Working NL Subs |
| Field | Type | Required | Description | Example |
| --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- |
| `Tag` | *string* | :heavy_check_mark: | The user-made collection this media item belongs to | My Awesome Collection |

View File

@@ -1,8 +1,12 @@
# Country
The filter query string for country media items.
## Fields
| Field | Type | Required | Description | Example |
| ------------------------ | ------------------------ | ------------------------ | ------------------------ | ------------------------ |
| `Tag` | **string* | :heavy_minus_sign: | N/A | United States of America |
| Field | Type | Required | Description | Example |
| ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- |
| `ID` | *int64* | :heavy_check_mark: | N/A | 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 |

View File

@@ -3,6 +3,6 @@
## Fields
| Field | Type | Required | Description | Example |
| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ |
| `Tag` | **string* | :heavy_minus_sign: | N/A | James Cameron |
| Field | Type | Required | Description | Example |
| -------------------- | -------------------- | -------------------- | -------------------- | -------------------- |
| `Tag` | *string* | :heavy_check_mark: | The role of Director | Danny Boyle |

View File

@@ -1,8 +1,12 @@
# Genre
The filter query string for similar items.
## Fields
| Field | Type | Required | Description | Example |
| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ |
| `Tag` | **string* | :heavy_minus_sign: | N/A | Adventure |
| Field | Type | Required | Description | Example |
| ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- |
| `ID` | *int64* | :heavy_check_mark: | N/A | 259 |
| `Filter` | *string* | :heavy_check_mark: | N/A | genre=19 |
| `Tag` | *string* | :heavy_check_mark: | The genre name of this media-item<br/> | Crime |

View File

@@ -3,6 +3,6 @@
## Fields
| Field | Type | Required | Description | Example |
| ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- |
| `Tag` | *string* | :heavy_check_mark: | The country of origin of this media item | United States of America |
| Field | Type | Required | Description | Example |
| ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- |
| `Tag` | *string* | :heavy_check_mark: | The genre name of this media-item<br/> | Crime |

View File

@@ -0,0 +1,8 @@
# 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 |

View File

@@ -19,8 +19,8 @@
| `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_check_mark: | Indicates whether voice activity is detected. | false |
| `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_check_mark: | An array of parts for this media item. | |
| `Part` | [][operations.GetAllMediaLibraryPart](../../models/operations/getallmedialibrarypart.md) | :heavy_minus_sign: | An array of parts for this media item. | |

View File

@@ -20,7 +20,7 @@ Unknown
| `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_check_mark: | The release year of the media item. | 2022 |
| `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 |
@@ -70,5 +70,5 @@ Unknown
| `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.Guids](../../models/operations/guids.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 | |

View File

@@ -5,10 +5,10 @@ Has this media been optimized for streaming. NOTE: This can be 0, 1, false or tr
## Supported Types
### One
### OptimizedForStreaming1
```go
getAllMediaLibraryOptimizedForStreaming := operations.CreateGetAllMediaLibraryOptimizedForStreamingOne(operations.One{/* values here */})
getAllMediaLibraryOptimizedForStreaming := operations.CreateGetAllMediaLibraryOptimizedForStreamingOptimizedForStreaming1(operations.OptimizedForStreaming1{/* values here */})
```
###

View File

@@ -3,6 +3,6 @@
## Fields
| Field | Type | Required | Description | Example |
| ----------------------------------- | ----------------------------------- | ----------------------------------- | ----------------------------------- | ----------------------------------- |
| `Tag` | *string* | :heavy_check_mark: | The name of the actor for this role | Danny Boyle |
| Field | Type | Required | Description | Example |
| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- |
| `Tag` | *string* | :heavy_check_mark: | The display tag for the actor (typically the actor's name). | Teller |

View File

@@ -11,9 +11,9 @@
| `Codec` | *string* | :heavy_check_mark: | Codec used by the stream. | hevc |
| `Index` | *int* | :heavy_check_mark: | Index of the stream. | 0 |
| `Bitrate` | **int* | :heavy_minus_sign: | Bitrate of the stream. | 24743 |
| `Language` | *string* | :heavy_check_mark: | Language of the stream. | English |
| `LanguageTag` | *string* | :heavy_check_mark: | Language tag (e.g., en). | en |
| `LanguageCode` | *string* | :heavy_check_mark: | ISO language code. | eng |
| `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 |
@@ -28,6 +28,7 @@
| `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 |
@@ -39,6 +40,7 @@
| `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) |

View File

@@ -5,4 +5,4 @@
| Field | Type | Required | Description | Example |
| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ |
| `Tag` | *string* | :heavy_check_mark: | The role of Writer | Danny Boyle |
| `Tag` | *string* | :heavy_check_mark: | The role of Writer | Jamie P. Hanson |

View File

@@ -1,11 +0,0 @@
# GetLibraryItemsEnableCreditsMarkerGeneration
Setting that indicates if credits markers detection is enabled. (-1 = Library default, 0 = Disabled).
## Values
| Name | Value |
| ------------------------------------------------------------ | ------------------------------------------------------------ |
| `GetLibraryItemsEnableCreditsMarkerGenerationLibraryDefault` | -1 |
| `GetLibraryItemsEnableCreditsMarkerGenerationDisabled` | 0 |

View File

@@ -1,12 +0,0 @@
# GetLibraryItemsEpisodeSort
Setting that indicates how episodes are sorted for the show. (-1 = Library default, 0 = Oldest first, 1 = Newest first).
## Values
| Name | Value |
| ------------------------------------------ | ------------------------------------------ |
| `GetLibraryItemsEpisodeSortLibraryDefault` | -1 |
| `GetLibraryItemsEpisodeSortOldestFirst` | 0 |
| `GetLibraryItemsEpisodeSortNewestFirst` | 1 |

View File

@@ -1,12 +0,0 @@
# GetLibraryItemsFlattenSeasons
Setting that indicates if seasons are set to hidden for the show. (-1 = Library default, 0 = Hide, 1 = Show).
## Values
| Name | Value |
| --------------------------------------------- | --------------------------------------------- |
| `GetLibraryItemsFlattenSeasonsLibraryDefault` | -1 |
| `GetLibraryItemsFlattenSeasonsHide` | 0 |
| `GetLibraryItemsFlattenSeasonsShow` | 1 |

View File

@@ -1,8 +0,0 @@
# GetLibraryItemsMediaGUID
## Fields
| Field | Type | Required | Description | Example |
| --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- |
| `ID` | *string* | :heavy_check_mark: | Can be one of the following formats:<br/>imdb://tt13015952, tmdb://2434012, tvdb://7945991<br/> | imdb://tt13015952 |

View File

@@ -23,10 +23,10 @@
| `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.GetLibraryItemsFlattenSeasons](../../models/operations/getlibraryitemsflattenseasons.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.GetLibraryItemsEpisodeSort](../../models/operations/getlibraryitemsepisodesort.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.GetLibraryItemsEnableCreditsMarkerGeneration](../../models/operations/getlibraryitemsenablecreditsmarkergeneration.md) | :heavy_minus_sign: | Setting that indicates if credits markers detection is enabled. (-1 = Library default, 0 = Disabled). | -1 |
| `ShowOrdering` | [*operations.GetLibraryItemsShowOrdering](../../models/operations/getlibraryitemsshowordering.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 |
| `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 |
@@ -55,9 +55,9 @@
| `Collection` | [][operations.GetLibraryItemsCollection](../../models/operations/getlibraryitemscollection.md) | :heavy_minus_sign: | N/A | |
| `Role` | [][operations.GetLibraryItemsRole](../../models/operations/getlibraryitemsrole.md) | :heavy_minus_sign: | N/A | |
| `Location` | [][operations.GetLibraryItemsLocation](../../models/operations/getlibraryitemslocation.md) | :heavy_minus_sign: | N/A | |
| `MediaGUID` | [][operations.GetLibraryItemsMediaGUID](../../models/operations/getlibraryitemsmediaguid.md) | :heavy_minus_sign: | The Guid object is only included in the response if the `includeGuids` parameter is set to `1`.<br/> | |
| `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.GetLibraryItemsMetaDataRating](../../models/operations/getlibraryitemsmetadatarating.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 |

View File

@@ -1,10 +0,0 @@
# GetLibraryItemsMetaDataRating
## Fields
| Field | Type | Required | Description | Example |
| -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- |
| `Image` | *string* | :heavy_check_mark: | A URI or path to the rating image. | themoviedb://image.rating |
| `Value` | *float32* | :heavy_check_mark: | The value of the rating. | 3 |
| `Type` | *string* | :heavy_check_mark: | The type of rating (e.g., audience, critic). | audience |

View File

@@ -1,20 +0,0 @@
# GetLibraryItemsShowOrdering
Setting that indicates the episode ordering for the show.
None = Library default,
tmdbAiring = The Movie Database (Aired),
aired = TheTVDB (Aired),
dvd = TheTVDB (DVD),
absolute = TheTVDB (Absolute)).
## Values
| Name | Value |
| ----------------------------------------- | ----------------------------------------- |
| `GetLibraryItemsShowOrderingNone` | None |
| `GetLibraryItemsShowOrderingTmdbAiring` | tmdbAiring |
| `GetLibraryItemsShowOrderingTvdbAired` | aired |
| `GetLibraryItemsShowOrderingTvdbDvd` | dvd |
| `GetLibraryItemsShowOrderingTvdbAbsolute` | absolute |

View File

@@ -5,10 +5,10 @@ Has this media been optimized for streaming. NOTE: This can be 0, 1, false or tr
## Supported Types
### GetMediaMetaDataOptimizedForStreaming1
### GetMediaMetaDataOptimizedForStreamingLibrary1
```go
getMediaMetaDataLibraryOptimizedForStreaming := operations.CreateGetMediaMetaDataLibraryOptimizedForStreamingGetMediaMetaDataOptimizedForStreaming1(operations.GetMediaMetaDataOptimizedForStreaming1{/* values here */})
getMediaMetaDataLibraryOptimizedForStreaming := operations.CreateGetMediaMetaDataLibraryOptimizedForStreamingGetMediaMetaDataOptimizedForStreamingLibrary1(operations.GetMediaMetaDataOptimizedForStreamingLibrary1{/* values here */})
```
###

View File

@@ -19,8 +19,8 @@
| `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_check_mark: | Indicates whether voice activity is detected. | false |
| `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.GetMediaMetaDataOptimizedForStreaming](../../models/operations/getmediametadataoptimizedforstreaming.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.GetMediaMetaDataPart](../../models/operations/getmediametadatapart.md) | :heavy_check_mark: | An array of parts for this media item. | |
| `Part` | [][operations.GetMediaMetaDataPart](../../models/operations/getmediametadatapart.md) | :heavy_minus_sign: | An array of parts for this media item. | |

View File

@@ -63,6 +63,6 @@
| `Role` | [][operations.GetMediaMetaDataRole](../../models/operations/getmediametadatarole.md) | :heavy_minus_sign: | An array of Actor roles. | |
| `Director` | [][operations.GetMediaMetaDataDirector](../../models/operations/getmediametadatadirector.md) | :heavy_minus_sign: | An array of Director roles. | |
| `Writer` | [][operations.GetMediaMetaDataWriter](../../models/operations/getmediametadatawriter.md) | :heavy_minus_sign: | An array of Writer roles. | |
| `Producer` | [][operations.Producer](../../models/operations/producer.md) | :heavy_minus_sign: | An array of Writer roles. | |
| `Similar` | [][operations.Similar](../../models/operations/similar.md) | :heavy_minus_sign: | An array of similar content objects. | |
| `Producer` | [][operations.GetMediaMetaDataProducer](../../models/operations/getmediametadataproducer.md) | :heavy_minus_sign: | An array of Writer roles. | |
| `Similar` | [][operations.GetMediaMetaDataSimilar](../../models/operations/getmediametadatasimilar.md) | :heavy_minus_sign: | An array of similar content objects. | |
| `Location` | [][operations.GetMediaMetaDataLocation](../../models/operations/getmediametadatalocation.md) | :heavy_minus_sign: | An array of location objects. | |

View File

@@ -5,10 +5,10 @@ Has this media been optimized for streaming. NOTE: This can be 0, 1, false or tr
## Supported Types
### OptimizedForStreaming1
### GetMediaMetaDataOptimizedForStreaming1
```go
getMediaMetaDataOptimizedForStreaming := operations.CreateGetMediaMetaDataOptimizedForStreamingOptimizedForStreaming1(operations.OptimizedForStreaming1{/* values here */})
getMediaMetaDataOptimizedForStreaming := operations.CreateGetMediaMetaDataOptimizedForStreamingGetMediaMetaDataOptimizedForStreaming1(operations.GetMediaMetaDataOptimizedForStreaming1{/* values here */})
```
###

View File

@@ -0,0 +1,9 @@
# GetMediaMetaDataOptimizedForStreamingLibrary1
## Values
| Name | Value |
| --------------------------------------------------- | --------------------------------------------------- |
| `GetMediaMetaDataOptimizedForStreamingLibrary1Zero` | 0 |
| `GetMediaMetaDataOptimizedForStreamingLibrary1One` | 1 |

View File

@@ -0,0 +1,13 @@
# GetMediaMetaDataProducer
## 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 |

View File

@@ -0,0 +1,10 @@
# GetMediaMetaDataSimilar
## 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 |

View File

@@ -11,9 +11,9 @@
| `Codec` | *string* | :heavy_check_mark: | Codec used by the stream. | hevc |
| `Index` | *int* | :heavy_check_mark: | Index of the stream. | 0 |
| `Bitrate` | **int* | :heavy_minus_sign: | Bitrate of the stream. | 24743 |
| `Language` | *string* | :heavy_check_mark: | Language of the stream. | English |
| `LanguageTag` | *string* | :heavy_check_mark: | Language tag (e.g., en). | en |
| `LanguageCode` | *string* | :heavy_check_mark: | ISO language code. | eng |
| `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 |
@@ -28,6 +28,7 @@
| `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 |
@@ -39,6 +40,7 @@
| `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) |

View File

@@ -1,8 +0,0 @@
# GetOnDeckGuids
## Fields
| Field | Type | Required | Description | Example |
| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ |
| `ID` | **string* | :heavy_minus_sign: | N/A | imdb://tt13303712 |

View File

@@ -1,22 +0,0 @@
# GetOnDeckMedia
## Fields
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- |
| `ID` | **float64* | :heavy_minus_sign: | N/A | 80994 |
| `Duration` | **float64* | :heavy_minus_sign: | N/A | 420080 |
| `Bitrate` | **float64* | :heavy_minus_sign: | N/A | 1046 |
| `Width` | **float64* | :heavy_minus_sign: | N/A | 1920 |
| `Height` | **float64* | :heavy_minus_sign: | N/A | 1080 |
| `AspectRatio` | **float64* | :heavy_minus_sign: | N/A | 1.78 |
| `AudioChannels` | **float64* | :heavy_minus_sign: | N/A | 2 |
| `AudioCodec` | **string* | :heavy_minus_sign: | N/A | aac |
| `VideoCodec` | **string* | :heavy_minus_sign: | N/A | hevc |
| `VideoResolution` | **string* | :heavy_minus_sign: | N/A | 1080 |
| `Container` | **string* | :heavy_minus_sign: | N/A | mkv |
| `VideoFrameRate` | **string* | :heavy_minus_sign: | N/A | PAL |
| `AudioProfile` | **string* | :heavy_minus_sign: | N/A | lc |
| `VideoProfile` | **string* | :heavy_minus_sign: | N/A | main |
| `Part` | [][operations.GetOnDeckPart](../../models/operations/getondeckpart.md) | :heavy_minus_sign: | N/A | |

View File

@@ -1,14 +0,0 @@
# GetOnDeckMediaContainer
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ |
| `Size` | **float64* | :heavy_minus_sign: | N/A | 16 |
| `AllowSync` | **bool* | :heavy_minus_sign: | N/A | |
| `Identifier` | **string* | :heavy_minus_sign: | N/A | com.plexapp.plugins.library |
| `MediaTagPrefix` | **string* | :heavy_minus_sign: | N/A | /system/bundle/media/flags/ |
| `MediaTagVersion` | **float64* | :heavy_minus_sign: | N/A | 1680021154 |
| `MixedParents` | **bool* | :heavy_minus_sign: | N/A | |
| `Metadata` | [][operations.GetOnDeckMetadata](../../models/operations/getondeckmetadata.md) | :heavy_minus_sign: | N/A | |

View File

@@ -1,43 +0,0 @@
# GetOnDeckMetadata
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `AllowSync` | **bool* | :heavy_minus_sign: | N/A | |
| `LibrarySectionID` | **float64* | :heavy_minus_sign: | N/A | 2 |
| `LibrarySectionTitle` | **string* | :heavy_minus_sign: | N/A | TV Shows |
| `LibrarySectionUUID` | **string* | :heavy_minus_sign: | N/A | 4bb2521c-8ba9-459b-aaee-8ab8bc35eabd |
| `RatingKey` | **float64* | :heavy_minus_sign: | N/A | 49564 |
| `Key` | **string* | :heavy_minus_sign: | N/A | /library/metadata/49564 |
| `ParentRatingKey` | **float64* | :heavy_minus_sign: | N/A | 49557 |
| `GrandparentRatingKey` | **float64* | :heavy_minus_sign: | N/A | 49556 |
| `GUID` | **string* | :heavy_minus_sign: | N/A | plex://episode/5ea7d7402e7ab10042e74d4f |
| `ParentGUID` | **string* | :heavy_minus_sign: | N/A | plex://season/602e754d67f4c8002ce54b3d |
| `GrandparentGUID` | **string* | :heavy_minus_sign: | N/A | plex://show/5d9c090e705e7a001e6e94d8 |
| `Type` | **string* | :heavy_minus_sign: | N/A | episode |
| `Title` | **string* | :heavy_minus_sign: | N/A | Circus |
| `GrandparentKey` | **string* | :heavy_minus_sign: | N/A | /library/metadata/49556 |
| `ParentKey` | **string* | :heavy_minus_sign: | N/A | /library/metadata/49557 |
| `LibrarySectionKey` | **string* | :heavy_minus_sign: | N/A | /library/sections/2 |
| `GrandparentTitle` | **string* | :heavy_minus_sign: | N/A | Bluey (2018) |
| `ParentTitle` | **string* | :heavy_minus_sign: | N/A | Season 2 |
| `ContentRating` | **string* | :heavy_minus_sign: | N/A | TV-Y |
| `Summary` | **string* | :heavy_minus_sign: | N/A | Bluey is the ringmaster in a game of circus with her friends but Hercules wants to play his motorcycle game instead. Luckily Bluey has a solution to keep everyone happy. |
| `Index` | **float64* | :heavy_minus_sign: | N/A | 33 |
| `ParentIndex` | **float64* | :heavy_minus_sign: | N/A | 2 |
| `LastViewedAt` | **float64* | :heavy_minus_sign: | N/A | 1681908352 |
| `Year` | **float64* | :heavy_minus_sign: | N/A | 2018 |
| `Thumb` | **string* | :heavy_minus_sign: | N/A | /library/metadata/49564/thumb/1654258204 |
| `Art` | **string* | :heavy_minus_sign: | N/A | /library/metadata/49556/art/1680939546 |
| `ParentThumb` | **string* | :heavy_minus_sign: | N/A | /library/metadata/49557/thumb/1654258204 |
| `GrandparentThumb` | **string* | :heavy_minus_sign: | N/A | /library/metadata/49556/thumb/1680939546 |
| `GrandparentArt` | **string* | :heavy_minus_sign: | N/A | /library/metadata/49556/art/1680939546 |
| `GrandparentTheme` | **string* | :heavy_minus_sign: | N/A | /library/metadata/49556/theme/1680939546 |
| `Duration` | **float64* | :heavy_minus_sign: | N/A | 420080 |
| `OriginallyAvailableAt` | [*time.Time](https://pkg.go.dev/time#Time) | :heavy_minus_sign: | N/A | 2020-10-31 00:00:00 +0000 UTC |
| `AddedAt` | **float64* | :heavy_minus_sign: | N/A | 1654258196 |
| `UpdatedAt` | **float64* | :heavy_minus_sign: | N/A | 1654258204 |
| `Media` | [][operations.GetOnDeckMedia](../../models/operations/getondeckmedia.md) | :heavy_minus_sign: | N/A | |
| `Guids` | [][operations.GetOnDeckGuids](../../models/operations/getondeckguids.md) | :heavy_minus_sign: | N/A | |

View File

@@ -1,16 +0,0 @@
# GetOnDeckPart
## Fields
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- |
| `ID` | **float64* | :heavy_minus_sign: | N/A | 80994 |
| `Key` | **string* | :heavy_minus_sign: | N/A | /library/parts/80994/1655007810/file.mkv |
| `Duration` | **float64* | :heavy_minus_sign: | N/A | 420080 |
| `File` | **string* | :heavy_minus_sign: | N/A | /tvshows/Bluey (2018)/Bluey (2018) - S02E33 - Circus.mkv |
| `Size` | **float64* | :heavy_minus_sign: | N/A | 55148931 |
| `AudioProfile` | **string* | :heavy_minus_sign: | N/A | lc |
| `Container` | **string* | :heavy_minus_sign: | N/A | mkv |
| `VideoProfile` | **string* | :heavy_minus_sign: | N/A | main |
| `Stream` | [][operations.GetOnDeckStream](../../models/operations/getondeckstream.md) | :heavy_minus_sign: | N/A | |

View File

@@ -1,11 +0,0 @@
# GetOnDeckResponse
## 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.GetOnDeckResponseBody](../../models/operations/getondeckresponsebody.md) | :heavy_minus_sign: | The on Deck content |

View File

@@ -1,10 +0,0 @@
# GetOnDeckResponseBody
The on Deck content
## Fields
| Field | Type | Required | Description |
| ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- |
| `MediaContainer` | [*operations.GetOnDeckMediaContainer](../../models/operations/getondeckmediacontainer.md) | :heavy_minus_sign: | N/A |

View File

@@ -1,30 +0,0 @@
# GetOnDeckStream
## Fields
| Field | Type | Required | Description | Example |
| ---------------------- | ---------------------- | ---------------------- | ---------------------- | ---------------------- |
| `ID` | **float64* | :heavy_minus_sign: | N/A | 211234 |
| `StreamType` | **float64* | :heavy_minus_sign: | N/A | 1 |
| `Default` | **bool* | :heavy_minus_sign: | N/A | |
| `Codec` | **string* | :heavy_minus_sign: | N/A | hevc |
| `Index` | **float64* | :heavy_minus_sign: | N/A | 0 |
| `Bitrate` | **float64* | :heavy_minus_sign: | N/A | 918 |
| `Language` | **string* | :heavy_minus_sign: | N/A | English |
| `LanguageTag` | **string* | :heavy_minus_sign: | N/A | en |
| `LanguageCode` | **string* | :heavy_minus_sign: | N/A | eng |
| `BitDepth` | **float64* | :heavy_minus_sign: | N/A | 8 |
| `ChromaLocation` | **string* | :heavy_minus_sign: | N/A | left |
| `ChromaSubsampling` | **string* | :heavy_minus_sign: | N/A | 4:2:0 |
| `CodedHeight` | **float64* | :heavy_minus_sign: | N/A | 1080 |
| `CodedWidth` | **float64* | :heavy_minus_sign: | N/A | 1920 |
| `ColorRange` | **string* | :heavy_minus_sign: | N/A | tv |
| `FrameRate` | **float64* | :heavy_minus_sign: | N/A | 25 |
| `Height` | **float64* | :heavy_minus_sign: | N/A | 1080 |
| `Level` | **float64* | :heavy_minus_sign: | N/A | 120 |
| `Profile` | **string* | :heavy_minus_sign: | N/A | main |
| `RefFrames` | **float64* | :heavy_minus_sign: | N/A | 1 |
| `Width` | **float64* | :heavy_minus_sign: | N/A | 1920 |
| `DisplayTitle` | **string* | :heavy_minus_sign: | N/A | 1080p (HEVC Main) |
| `ExtendedDisplayTitle` | **string* | :heavy_minus_sign: | N/A | 1080p (HEVC Main) |

View File

@@ -5,10 +5,10 @@
| Field | Type | Required | Description | Example |
| ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
| `Size` | *int64* | :heavy_check_mark: | N/A | 50 |
| `Offset` | **int* | :heavy_minus_sign: | N/A | |
| `TotalSize` | **int* | :heavy_minus_sign: | N/A | |
| `Identifier` | **string* | :heavy_minus_sign: | N/A | com.plexapp.plugins.library |
| `AllowSync` | **bool* | :heavy_minus_sign: | N/A | false |
| `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 |
| `Identifier` | *string* | :heavy_check_mark: | An plugin identifier for the media container. | com.plexapp.plugins.library |
| `Meta` | [*operations.Meta](../../models/operations/meta.md) | :heavy_minus_sign: | The Meta object is only included in the response if the `includeMeta` parameter is set to `1`.<br/> | |
| `Metadata` | [][operations.GetRecentlyAddedMetadata](../../models/operations/getrecentlyaddedmetadata.md) | :heavy_minus_sign: | N/A | |
| `Metadata` | [][operations.GetRecentlyAddedMetadata](../../models/operations/getrecentlyaddedmetadata.md) | :heavy_minus_sign: | An array of metadata items. | |

View File

@@ -1,83 +1,85 @@
# GetRecentlyAddedMetadata
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.GetRecentlyAddedHubsType](../../models/operations/getrecentlyaddedhubstype.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 |
| `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.Media](../../models/operations/media.md) | :heavy_minus_sign: | The Media object is only included when type query is `4` or higher.<br/> | |
| `Genre` | [][operations.Genre](../../models/operations/genre.md) | :heavy_minus_sign: | N/A | |
| `Country` | [][operations.Country](../../models/operations/country.md) | :heavy_minus_sign: | N/A | |
| `Director` | [][operations.Director](../../models/operations/director.md) | :heavy_minus_sign: | N/A | |
| `Writer` | [][operations.Writer](../../models/operations/writer.md) | :heavy_minus_sign: | N/A | |
| `Collection` | [][operations.Collection](../../models/operations/collection.md) | :heavy_minus_sign: | N/A | |
| `Role` | [][operations.Role](../../models/operations/role.md) | :heavy_minus_sign: | N/A | |
| `Location` | [][operations.Location](../../models/operations/location.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.UltraBlurColors](../../models/operations/ultrablurcolors.md) | :heavy_minus_sign: | N/A | |
| `MetaDataRating` | [][operations.MetaDataRating](../../models/operations/metadatarating.md) | :heavy_minus_sign: | N/A | |
| `Image` | [][operations.GetRecentlyAddedImage](../../models/operations/getrecentlyaddedimage.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 |
| Field | Type | Required | Description | Example |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `AddedAt` | *int64* | :heavy_check_mark: | N/A | 1556281940 |
| `Art` | *string* | :heavy_check_mark: | The art image URL for the media item. | /library/metadata/58683/art/1703239236 |
| `AudienceRatingImage` | **string* | :heavy_minus_sign: | The URL for the audience rating image. | rottentomatoes://image.rating.upright |
| `AudienceRating` | *float64* | :heavy_check_mark: | The audience rating for the media item. | 9.2 |
| `ChapterSource` | **string* | :heavy_minus_sign: | The source from which chapter data is derived. | media |
| `ChildCount` | *int* | :heavy_check_mark: | The number of child items associated with this media item. | 1 |
| `ContentRating` | **string* | :heavy_minus_sign: | The content rating for the media item. | PG-13 |
| `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 |
| `Duration` | *int* | :heavy_check_mark: | The duration of the media item in milliseconds. | 11558112 |
| `GrandparentArt` | **string* | :heavy_minus_sign: | The art URL for the grandparent media item. | /library/metadata/66/art/1705716261 |
| `GrandparentGUID` | **string* | :heavy_minus_sign: | The GUID of the grandparent media item. | plex://show/5d9c081b170e24001f2a7be4 |
| `GrandparentKey` | **string* | :heavy_minus_sign: | The key of the grandparent media item. | /library/metadata/66 |
| `GrandparentRatingKey` | **string* | :heavy_minus_sign: | The rating key of the grandparent media item. | 66 |
| `GrandparentSlug` | **string* | :heavy_minus_sign: | The slug for the grandparent media item. | alice-in-borderland-2020 |
| `GrandparentTheme` | **string* | :heavy_minus_sign: | The theme URL for the grandparent media item. | /library/metadata/66/theme/1705716261 |
| `GrandparentThumb` | **string* | :heavy_minus_sign: | The thumbnail URL for the grandparent media item. | /library/metadata/66/thumb/1705716261 |
| `GrandparentTitle` | **string* | :heavy_minus_sign: | The title of the grandparent media item. | Caprica |
| `GUID` | *string* | :heavy_check_mark: | The globally unique identifier for the media item. | plex://movie/5d7768ba96b655001fdc0408 |
| `Index` | *int* | :heavy_check_mark: | The index position of the media item. | 1 |
| `Key` | *string* | :heavy_check_mark: | The unique key for the media item. | /library/metadata/58683 |
| `LastRatedAt` | **int64* | :heavy_minus_sign: | The Unix timestamp representing the last time the item was rated. | 1721813113 |
| `LastViewedAt` | **int* | :heavy_minus_sign: | Unix timestamp for when the media item was last viewed. | 1682752242 |
| `LeafCount` | **int* | :heavy_minus_sign: | The number of leaf items (end nodes) under this media item. | 14 |
| `LibrarySectionID` | *int64* | :heavy_check_mark: | The identifier for the library section. | 1 |
| `LibrarySectionKey` | *string* | :heavy_check_mark: | The key corresponding to the library section. | /library/sections/1 |
| `LibrarySectionTitle` | *string* | :heavy_check_mark: | The title of the library section. | Movies |
| `OriginalTitle` | **string* | :heavy_minus_sign: | The original title of the media item (if different). | 映画 ブラッククローバー 魔法帝の剣 |
| `OriginallyAvailableAt` | [types.Date](../../types/date.md) | :heavy_check_mark: | The original release date of the media item. | 2022-12-14 |
| `ParentGUID` | **string* | :heavy_minus_sign: | The GUID of the parent media item. | plex://show/5d9c081b170e24001f2a7be4 |
| `ParentIndex` | **int* | :heavy_minus_sign: | The index position of the parent media item. | 1 |
| `ParentKey` | **string* | :heavy_minus_sign: | The key of the parent media item. | /library/metadata/66 |
| `ParentRatingKey` | **string* | :heavy_minus_sign: | The rating key of the parent media item. | 66 |
| `ParentSlug` | **string* | :heavy_minus_sign: | The slug for the parent media item. | alice-in-borderland-2020 |
| `ParentStudio` | *string* | :heavy_check_mark: | The studio of the parent media item. | UCP |
| `ParentTheme` | *string* | :heavy_check_mark: | The theme URL for the parent media item. | /library/metadata/66/theme/1705716261 |
| `ParentThumb` | **string* | :heavy_minus_sign: | The thumbnail URL for the parent media item. | /library/metadata/66/thumb/1705716261 |
| `ParentTitle` | **string* | :heavy_minus_sign: | The title of the parent media item. | Caprica |
| `ParentYear` | **int* | :heavy_minus_sign: | The release year of the parent media item. | 2010 |
| `PrimaryExtraKey` | **string* | :heavy_minus_sign: | The primary extra key associated with this media item. | /library/metadata/58684 |
| `RatingImage` | **string* | :heavy_minus_sign: | The URL for the rating image. | rottentomatoes://image.rating.ripe |
| `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 |
| `Rating` | *float32* | :heavy_check_mark: | The critic rating for the media item. | 7.6 |
| `SeasonCount` | *int* | :heavy_check_mark: | The total number of seasons (for TV shows). | 2022 |
| `SkipCount` | **int* | :heavy_minus_sign: | The number of times this media item has been skipped. | 1 |
| `Slug` | *string* | :heavy_check_mark: | A URLfriendly version of the media title. | 4-for-texas |
| `Studio` | **string* | :heavy_minus_sign: | The studio that produced the media item. | 20th Century Studios |
| `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 |
| `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/> |
| `Tagline` | *string* | :heavy_check_mark: | A brief tagline for the media item. | Return to Pandora. |
| `Theme` | *string* | :heavy_check_mark: | The theme URL for the media item. | /library/metadata/1/theme/1705636920 |
| `Thumb` | *string* | :heavy_check_mark: | The thumbnail image URL for the media item. | /library/metadata/58683/thumb/1703239236 |
| `TitleSort` | *string* | :heavy_check_mark: | The sort title used for ordering media items. | Whale |
| `Title` | *string* | :heavy_check_mark: | The title of the media item. | Avatar: The Way of Water |
| `Type` | [operations.GetRecentlyAddedHubsType](../../models/operations/getrecentlyaddedhubstype.md) | :heavy_check_mark: | N/A | movie |
| `UpdatedAt` | **int64* | :heavy_minus_sign: | Unix epoch datetime in seconds | 1556281940 |
| `UserRating` | **float32* | :heavy_minus_sign: | The rating provided by a user for the item. This value is expressed as a decimal number. | 10 |
| `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 |
| `ViewedLeafCount` | **int* | :heavy_minus_sign: | The number of leaf items that have been viewed. | 0 |
| `Year` | **int* | :heavy_minus_sign: | The release year of the media item. | 2022 |
| `Image` | [][operations.GetRecentlyAddedImage](../../models/operations/getrecentlyaddedimage.md) | :heavy_minus_sign: | N/A | |
| `UltraBlurColors` | [*operations.UltraBlurColors](../../models/operations/ultrablurcolors.md) | :heavy_minus_sign: | N/A | |
| `Media` | [][operations.Media](../../models/operations/media.md) | :heavy_minus_sign: | N/A | |
| `Genre` | [][operations.Genre](../../models/operations/genre.md) | :heavy_minus_sign: | N/A | |
| `Country` | [][operations.Country](../../models/operations/country.md) | :heavy_minus_sign: | N/A | |
| `Director` | [][operations.Director](../../models/operations/director.md) | :heavy_minus_sign: | N/A | |
| `Writer` | [][operations.Writer](../../models/operations/writer.md) | :heavy_minus_sign: | N/A | |
| `Role` | [][operations.Role](../../models/operations/role.md) | :heavy_minus_sign: | N/A | |
| `Producer` | [][operations.Producer](../../models/operations/producer.md) | :heavy_minus_sign: | N/A | |
| `Rating1` | [][operations.Rating](../../models/operations/rating.md) | :heavy_minus_sign: | N/A | |
| `Similar` | [][operations.Similar](../../models/operations/similar.md) | :heavy_minus_sign: | N/A | |
| `Location` | [][operations.Location](../../models/operations/location.md) | :heavy_minus_sign: | N/A | |
| `Guids` | [][operations.Guids](../../models/operations/guids.md) | :heavy_minus_sign: | N/A | |
| `Collection` | [][operations.Collection](../../models/operations/collection.md) | :heavy_minus_sign: | N/A | |

View File

@@ -0,0 +1,19 @@
# GetRecentlyAddedOptimizedForStreaming
Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true
## Supported Types
### GetRecentlyAddedOptimizedForStreaming1
```go
getRecentlyAddedOptimizedForStreaming := operations.CreateGetRecentlyAddedOptimizedForStreamingGetRecentlyAddedOptimizedForStreaming1(operations.GetRecentlyAddedOptimizedForStreaming1{/* values here */})
```
###
```go
getRecentlyAddedOptimizedForStreaming := operations.CreateGetRecentlyAddedOptimizedForStreamingBoolean(bool{/* values here */})
```

View File

@@ -0,0 +1,9 @@
# GetRecentlyAddedOptimizedForStreaming1
## Values
| Name | Value |
| -------------------------------------------- | -------------------------------------------- |
| `GetRecentlyAddedOptimizedForStreaming1Zero` | 0 |
| `GetRecentlyAddedOptimizedForStreaming1One` | 1 |

View File

@@ -41,7 +41,7 @@ Logged in user details
| `Services` | [][operations.Services](../../models/operations/services.md) | :heavy_check_mark: | N/A | |
| `Subscription` | [operations.Subscription](../../models/operations/subscription.md) | :heavy_check_mark: | If the accounts Plex Pass subscription is active | |
| `SubscriptionDescription` | *string* | :heavy_check_mark: | Description of the Plex Pass subscription | |
| `Subscriptions` | [][operations.GetTokenDetailsSubscription](../../models/operations/gettokendetailssubscription.md) | :heavy_check_mark: | N/A | |
| `Subscriptions` | [][operations.GetTokenDetailsSubscription](../../models/operations/gettokendetailssubscription.md) | :heavy_minus_sign: | N/A | |
| `Thumb` | *string* | :heavy_check_mark: | URL of the account thumbnail | https://plex.tv/users/a4f43c1ebfde43a5/avatar?c=8372075101 |
| `Title` | *string* | :heavy_check_mark: | The title of the account (username or friendly name) | UsernameTitle |
| `TwoFactorEnabled` | **bool* | :heavy_minus_sign: | If two-factor authentication is enabled | |

View File

@@ -1,5 +1,7 @@
# HasThumbnail
Indicates if the part has a thumbnail.
## Values

View File

@@ -1,8 +1,10 @@
# Location
The folder path for the media item.
## Fields
| Field | Type | Required | Description | Example |
| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ |
| `Path` | **string* | :heavy_minus_sign: | N/A | /TV Shows/House |
| Field | Type | Required | Description | Example |
| ------------------------- | ------------------------- | ------------------------- | ------------------------- | ------------------------- |
| `Path` | *string* | :heavy_check_mark: | N/A | /TV Shows/Clarkson's Farm |

View File

@@ -5,21 +5,22 @@
| 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.OptimizedForStreaming](../../models/operations/optimizedforstreaming.md) | :heavy_minus_sign: | N/A | 1 |
| `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.OptimizedForStreaming](../../models/operations/optimizedforstreaming.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.Part](../../models/operations/part.md) | :heavy_check_mark: | N/A | |
| `Part` | [][operations.Part](../../models/operations/part.md) | :heavy_minus_sign: | An array of parts for this media item. | |

View File

@@ -1,9 +1,19 @@
# OptimizedForStreaming
Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true
## Values
| Name | Value |
| ------------------------------ | ------------------------------ |
| `OptimizedForStreamingDisable` | 0 |
| `OptimizedForStreamingEnable` | 1 |
## Supported Types
### One
```go
optimizedForStreaming := operations.CreateOptimizedForStreamingOne(operations.One{/* values here */})
```
###
```go
optimizedForStreaming := operations.CreateOptimizedForStreamingBoolean(bool{/* values here */})
```

View File

@@ -3,18 +3,21 @@
## 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 |
| `Indexes` | **string* | :heavy_minus_sign: | N/A | sd |
| `HasThumbnail` | [*operations.HasThumbnail](../../models/operations/hasthumbnail.md) | :heavy_minus_sign: | N/A | 1 |
| `Stream` | [][operations.Stream](../../models/operations/stream.md) | :heavy_minus_sign: | N/A | |
| 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.GetRecentlyAddedOptimizedForStreaming](../../models/operations/getrecentlyaddedoptimizedforstreaming.md) | :heavy_minus_sign: | Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true | |
| `HasThumbnail` | [*operations.HasThumbnail](../../models/operations/hasthumbnail.md) | :heavy_minus_sign: | N/A | 1 |
| `Stream` | [][operations.Stream](../../models/operations/stream.md) | :heavy_minus_sign: | An array of streams for this part. | |

View File

@@ -41,7 +41,7 @@ Returns the user account data with a valid auth token
| `Services` | [][operations.PostUsersSignInDataServices](../../models/operations/postuserssignindataservices.md) | :heavy_check_mark: | N/A | |
| `Subscription` | [operations.PostUsersSignInDataSubscription](../../models/operations/postuserssignindatasubscription.md) | :heavy_check_mark: | If the accounts Plex Pass subscription is active | |
| `SubscriptionDescription` | *string* | :heavy_check_mark: | Description of the Plex Pass subscription | |
| `Subscriptions` | [][operations.PostUsersSignInDataAuthenticationSubscription](../../models/operations/postuserssignindataauthenticationsubscription.md) | :heavy_check_mark: | N/A | |
| `Subscriptions` | [][operations.PostUsersSignInDataAuthenticationSubscription](../../models/operations/postuserssignindataauthenticationsubscription.md) | :heavy_minus_sign: | N/A | |
| `Thumb` | *string* | :heavy_check_mark: | URL of the account thumbnail | https://plex.tv/users/a4f43c1ebfde43a5/avatar?c=8372075101 |
| `Title` | *string* | :heavy_check_mark: | The title of the account (username or friendly name) | UsernameTitle |
| `TwoFactorEnabled` | **bool* | :heavy_minus_sign: | If two-factor authentication is enabled | |

View File

@@ -3,11 +3,10 @@
## 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 |
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- |
| `ID` | *int64* | :heavy_check_mark: | Unique identifier for the producer. | 126522 |
| `Filter` | *string* | :heavy_check_mark: | The filter string used to query this producer. | producer=126522 |
| `Tag` | *string* | :heavy_check_mark: | The name of the producer | Amelia Knapp |
| `TagKey` | **string* | :heavy_minus_sign: | A unique key associated with the producer's tag, used for internal identification. | 5d77683d85719b001f3a535e |
| `Thumb` | **string* | :heavy_minus_sign: | The URL of the thumbnail image for the actor. | https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg |

View File

@@ -0,0 +1,12 @@
# Rating
The type of rating, for example 'audience' or 'critic'.
## Fields
| Field | Type | Required | Description | Example |
| ------------------- | ------------------- | ------------------- | ------------------- | ------------------- |
| `Image` | *string* | :heavy_check_mark: | N/A | imdb://image.rating |
| `Value` | *float64* | :heavy_check_mark: | N/A | 5.1 |
| `Type` | *string* | :heavy_check_mark: | N/A | audience |

View File

@@ -3,11 +3,11 @@
## 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 |
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- |
| `ID` | *int64* | :heavy_check_mark: | Unique identifier for the actor or role. | 126522 |
| `Filter` | *string* | :heavy_check_mark: | The filter string used to query this actor. For example, it may indicate that this is an actor with a given key. | actor=126522 |
| `Tag` | *string* | :heavy_check_mark: | The display tag for the actor (typically the actor's name). | Teller |
| `TagKey` | **string* | :heavy_minus_sign: | A unique key associated with the actor's tag, used for internal identification. | 5d77683d85719b001f3a535e |
| `Role` | **string* | :heavy_minus_sign: | The role played by the actor in the media item. | Self - Judge |
| `Thumb` | **string* | :heavy_minus_sign: | The URL of the thumbnail image for the actor. | https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg |

View File

@@ -1,10 +1,12 @@
# Similar
The display tag for the similar item, typically the title.
## 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 |
| Field | Type | Required | Description | Example |
| --------------------- | --------------------- | --------------------- | --------------------- | --------------------- |
| `ID` | *int64* | :heavy_check_mark: | N/A | 259 |
| `Filter` | *string* | :heavy_check_mark: | N/A | similar=259 |
| `Tag` | *string* | :heavy_check_mark: | N/A | Criss Angel Mindfreak |

View File

@@ -3,43 +3,54 @@
## 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 |
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- |
| `ID` | *int64* | :heavy_check_mark: | Unique stream identifier. | 1002625 |
| `StreamType` | *int* | :heavy_check_mark: | Stream type (1=video, 2=audio, 3=subtitle). | 1 |
| `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_check_mark: | 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 |
| `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 |

View File

@@ -3,6 +3,9 @@
## Fields
| Field | Type | Required | Description | Example |
| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ |
| `Tag` | **string* | :heavy_minus_sign: | N/A | James Cameron |
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- |
| `ID` | *int64* | :heavy_check_mark: | Unique identifier for the writer. | 126522 |
| `Filter` | *string* | :heavy_check_mark: | The filter string used to query this writer. | writer=126522 |
| `Tag` | *string* | :heavy_check_mark: | The role of Writer | Jamie P. Hanson |
| `TagKey` | **string* | :heavy_minus_sign: | A unique key associated with the writers tag, used for internal identification. | 5d77683d85719b001f3a535e |

View File

@@ -1,11 +0,0 @@
# GetOnDeckBadRequest
Bad Request - A parameter was not specified, or was specified incorrectly.
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ |
| `Errors` | [][sdkerrors.GetOnDeckErrors](../../models/sdkerrors/getondeckerrors.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 |

View File

@@ -1,10 +0,0 @@
# GetOnDeckErrors
## Fields
| Field | Type | Required | Description | Example |
| ----------------------------------- | ----------------------------------- | ----------------------------------- | ----------------------------------- | ----------------------------------- |
| `Code` | **int* | :heavy_minus_sign: | N/A | 1000 |
| `Message` | **string* | :heavy_minus_sign: | N/A | X-Plex-Client-Identifier is missing |
| `Status` | **int* | :heavy_minus_sign: | N/A | 400 |

View File

@@ -1,10 +0,0 @@
# GetOnDeckLibraryErrors
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- |
| `Code` | **int* | :heavy_minus_sign: | N/A | 1001 |
| `Message` | **string* | :heavy_minus_sign: | N/A | User could not be authenticated |
| `Status` | **int* | :heavy_minus_sign: | N/A | 401 |

View File

@@ -1,11 +0,0 @@
# GetOnDeckUnauthorized
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
## Fields
| Field | Type | Required | Description |
| -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- |
| `Errors` | [][sdkerrors.GetOnDeckLibraryErrors](../../models/sdkerrors/getondecklibraryerrors.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 |

View File

@@ -34,7 +34,7 @@ import(
func main() {
ctx := context.Background()
s := plexgo.New(
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
)
@@ -85,7 +85,7 @@ import(
func main() {
ctx := context.Background()
s := plexgo.New(
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
)

View File

@@ -32,7 +32,7 @@ import(
func main() {
ctx := context.Background()
s := plexgo.New(
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
)
@@ -87,7 +87,7 @@ import(
func main() {
ctx := context.Background()
s := plexgo.New(
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
)
@@ -139,7 +139,7 @@ import(
func main() {
ctx := context.Background()
s := plexgo.New(
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
)
@@ -191,7 +191,7 @@ import(
func main() {
ctx := context.Background()
s := plexgo.New()
res, err := s.Authentication.PostUsersSignInData(ctx, operations.PostUsersSignInDataRequest{

View File

@@ -31,7 +31,7 @@ import(
func main() {
ctx := context.Background()
s := plexgo.New(
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
)
@@ -87,7 +87,7 @@ import(
func main() {
ctx := context.Background()
s := plexgo.New(
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
)
@@ -139,7 +139,7 @@ import(
func main() {
ctx := context.Background()
s := plexgo.New(
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
)
@@ -196,7 +196,7 @@ import(
func main() {
ctx := context.Background()
s := plexgo.New(
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
)
@@ -250,7 +250,7 @@ import(
func main() {
ctx := context.Background()
s := plexgo.New(
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
)

View File

@@ -29,7 +29,7 @@ import(
func main() {
ctx := context.Background()
s := plexgo.New(
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
)
@@ -84,7 +84,7 @@ import(
func main() {
ctx := context.Background()
s := plexgo.New(
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
)
@@ -139,7 +139,7 @@ import(
func main() {
ctx := context.Background()
s := plexgo.New(
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
)

View File

@@ -24,7 +24,6 @@ API Calls interacting with Plex Media Server Libraries
* [GetMediaMetaData](#getmediametadata) - Get Media Metadata
* [GetMetadataChildren](#getmetadatachildren) - Get Items Children
* [GetTopWatchedContent](#gettopwatchedcontent) - Get Top Watched Content
* [GetOnDeck](#getondeck) - Get On Deck
## GetFileHash
@@ -43,7 +42,7 @@ import(
func main() {
ctx := context.Background()
s := plexgo.New(
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
)
@@ -98,7 +97,7 @@ import(
func main() {
ctx := context.Background()
s := plexgo.New(
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
)
@@ -174,7 +173,7 @@ import(
func main() {
ctx := context.Background()
s := plexgo.New(
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
)
@@ -264,7 +263,7 @@ import(
func main() {
ctx := context.Background()
s := plexgo.New(
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
)
@@ -317,7 +316,7 @@ import(
func main() {
ctx := context.Background()
s := plexgo.New(
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
)
@@ -391,7 +390,7 @@ import(
func main() {
ctx := context.Background()
s := plexgo.New(
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
)
@@ -449,7 +448,7 @@ import(
func main() {
ctx := context.Background()
s := plexgo.New(
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
)
@@ -506,7 +505,7 @@ import(
func main() {
ctx := context.Background()
s := plexgo.New(
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
)
@@ -578,7 +577,7 @@ import(
func main() {
ctx := context.Background()
s := plexgo.New(
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
)
@@ -633,7 +632,7 @@ import(
func main() {
ctx := context.Background()
s := plexgo.New(
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
)
@@ -688,7 +687,7 @@ import(
func main() {
ctx := context.Background()
s := plexgo.New(
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
)
@@ -743,7 +742,7 @@ import(
func main() {
ctx := context.Background()
s := plexgo.New(
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
)
@@ -798,7 +797,7 @@ import(
func main() {
ctx := context.Background()
s := plexgo.New(
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
)
@@ -858,7 +857,7 @@ import(
func main() {
ctx := context.Background()
s := plexgo.New(
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
)
@@ -926,7 +925,7 @@ import(
func main() {
ctx := context.Background()
s := plexgo.New(
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
)
@@ -981,7 +980,7 @@ import(
func main() {
ctx := context.Background()
s := plexgo.New(
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
)
@@ -1015,56 +1014,4 @@ func main() {
| ------------------------------------------ | ------------------------------------------ | ------------------------------------------ |
| sdkerrors.GetTopWatchedContentBadRequest | 400 | application/json |
| sdkerrors.GetTopWatchedContentUnauthorized | 401 | application/json |
| sdkerrors.SDKError | 4XX, 5XX | \*/\* |
## GetOnDeck
This endpoint will return the on deck content.
### Example Usage
```go
package main
import(
"context"
"github.com/LukeHagar/plexgo"
"log"
)
func main() {
ctx := context.Background()
s := plexgo.New(
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
)
res, err := s.Library.GetOnDeck(ctx)
if err != nil {
log.Fatal(err)
}
if res.Object != nil {
// handle response
}
}
```
### Parameters
| Parameter | Type | Required | Description |
| -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- |
| `ctx` | [context.Context](https://pkg.go.dev/context#Context) | :heavy_check_mark: | The context to use for the request. |
| `opts` | [][operations.Option](../../models/operations/option.md) | :heavy_minus_sign: | The options for this request. |
### Response
**[*operations.GetOnDeckResponse](../../models/operations/getondeckresponse.md), error**
### Errors
| Error Type | Status Code | Content Type |
| ------------------------------- | ------------------------------- | ------------------------------- |
| sdkerrors.GetOnDeckBadRequest | 400 | application/json |
| sdkerrors.GetOnDeckUnauthorized | 401 | application/json |
| sdkerrors.SDKError | 4XX, 5XX | \*/\* |
| sdkerrors.SDKError | 4XX, 5XX | \*/\* |

View File

@@ -31,7 +31,7 @@ import(
func main() {
ctx := context.Background()
s := plexgo.New(
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
)
@@ -106,7 +106,7 @@ import(
func main() {
ctx := context.Background()
s := plexgo.New(
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
)
@@ -161,7 +161,7 @@ import(
func main() {
ctx := context.Background()
s := plexgo.New(
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
)

View File

@@ -31,7 +31,7 @@ import(
func main() {
ctx := context.Background()
s := plexgo.New(
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
)
@@ -83,7 +83,7 @@ import(
func main() {
ctx := context.Background()
s := plexgo.New(
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
)
@@ -136,7 +136,7 @@ import(
func main() {
ctx := context.Background()
s := plexgo.New(
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
)
@@ -191,7 +191,7 @@ import(
func main() {
ctx := context.Background()
s := plexgo.New(
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
)
@@ -251,7 +251,7 @@ import(
func main() {
ctx := context.Background()
s := plexgo.New(
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
)

View File

@@ -42,7 +42,7 @@ import(
func main() {
ctx := context.Background()
s := plexgo.New(
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
)
@@ -99,7 +99,7 @@ import(
func main() {
ctx := context.Background()
s := plexgo.New(
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
)
@@ -154,7 +154,7 @@ import(
func main() {
ctx := context.Background()
s := plexgo.New(
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
)
@@ -207,7 +207,7 @@ import(
func main() {
ctx := context.Background()
s := plexgo.New(
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
)
@@ -260,7 +260,7 @@ import(
func main() {
ctx := context.Background()
s := plexgo.New(
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
)
@@ -319,7 +319,7 @@ import(
func main() {
ctx := context.Background()
s := plexgo.New(
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
)
@@ -373,7 +373,7 @@ import(
func main() {
ctx := context.Background()
s := plexgo.New(
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
)
@@ -427,7 +427,7 @@ import(
func main() {
ctx := context.Background()
s := plexgo.New(
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
)
@@ -483,7 +483,7 @@ import(
func main() {
ctx := context.Background()
s := plexgo.New(
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
)

View File

@@ -33,7 +33,7 @@ import(
func main() {
ctx := context.Background()
s := plexgo.New(
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
)
@@ -84,7 +84,7 @@ import(
func main() {
ctx := context.Background()
s := plexgo.New(
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
)
@@ -135,7 +135,7 @@ import(
func main() {
ctx := context.Background()
s := plexgo.New()
res, err := s.Plex.GetGeoData(ctx)
@@ -184,7 +184,7 @@ import(
func main() {
ctx := context.Background()
s := plexgo.New(
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
)
@@ -235,7 +235,7 @@ import(
func main() {
ctx := context.Background()
s := plexgo.New(
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
)
@@ -291,7 +291,7 @@ import(
func main() {
ctx := context.Background()
s := plexgo.New()
res, err := s.Plex.GetPin(ctx, operations.GetPinRequest{
@@ -347,7 +347,7 @@ import(
func main() {
ctx := context.Background()
s := plexgo.New()
res, err := s.Plex.GetTokenByPinID(ctx, operations.GetTokenByPinIDRequest{

View File

@@ -41,7 +41,7 @@ import(
func main() {
ctx := context.Background()
s := plexgo.New(
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
)
@@ -99,7 +99,7 @@ import(
func main() {
ctx := context.Background()
s := plexgo.New(
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
)
@@ -153,7 +153,7 @@ import(
func main() {
ctx := context.Background()
s := plexgo.New(
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
)

View File

@@ -35,7 +35,7 @@ import(
func main() {
ctx := context.Background()
s := plexgo.New(
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
)
@@ -86,7 +86,7 @@ import(
func main() {
ctx := context.Background()
s := plexgo.New(
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
)
@@ -137,7 +137,7 @@ import(
func main() {
ctx := context.Background()
s := plexgo.New(
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
)
@@ -188,7 +188,7 @@ import(
func main() {
ctx := context.Background()
s := plexgo.New(
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
)
@@ -239,7 +239,7 @@ import(
func main() {
ctx := context.Background()
s := plexgo.New()
res, err := s.Server.GetServerIdentity(ctx)
@@ -287,7 +287,7 @@ import(
func main() {
ctx := context.Background()
s := plexgo.New(
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
)
@@ -340,7 +340,7 @@ import(
func main() {
ctx := context.Background()
s := plexgo.New(
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
)
@@ -400,7 +400,7 @@ import(
func main() {
ctx := context.Background()
s := plexgo.New(
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
)
@@ -452,7 +452,7 @@ import(
func main() {
ctx := context.Background()
s := plexgo.New(
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
)

View File

@@ -30,7 +30,7 @@ import(
func main() {
ctx := context.Background()
s := plexgo.New(
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
)
@@ -82,7 +82,7 @@ import(
func main() {
ctx := context.Background()
s := plexgo.New(
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
)
@@ -137,7 +137,7 @@ import(
func main() {
ctx := context.Background()
s := plexgo.New(
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
)
@@ -188,7 +188,7 @@ import(
func main() {
ctx := context.Background()
s := plexgo.New(
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
)

View File

@@ -29,7 +29,7 @@ import(
func main() {
ctx := context.Background()
s := plexgo.New(
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
)
@@ -81,7 +81,7 @@ import(
func main() {
ctx := context.Background()
s := plexgo.New(
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
)
@@ -133,7 +133,7 @@ import(
func main() {
ctx := context.Background()
s := plexgo.New(
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
)

View File

@@ -30,7 +30,7 @@ import(
func main() {
ctx := context.Background()
s := plexgo.New(
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
)
@@ -82,7 +82,7 @@ import(
func main() {
ctx := context.Background()
s := plexgo.New(
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
)
@@ -136,7 +136,7 @@ import(
func main() {
ctx := context.Background()
s := plexgo.New(
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
)

View File

@@ -25,7 +25,7 @@ import(
func main() {
ctx := context.Background()
s := plexgo.New()
res, err := s.Users.GetUsers(ctx, operations.GetUsersRequest{

View File

@@ -29,7 +29,7 @@ import(
func main() {
ctx := context.Background()
s := plexgo.New(
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
)
@@ -93,7 +93,7 @@ import(
func main() {
ctx := context.Background()
s := plexgo.New(
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
)

View File

@@ -28,7 +28,7 @@ import(
func main() {
ctx := context.Background()
s := plexgo.New(
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
)

45
hubs.go
View File

@@ -29,13 +29,6 @@ func newHubs(sdkConfig sdkConfiguration) *Hubs {
// GetGlobalHubs - Get Global Hubs
// Get Global Hubs filtered by the parameters provided.
func (s *Hubs) GetGlobalHubs(ctx context.Context, count *float64, onlyTransient *operations.OnlyTransient, opts ...operations.Option) (*operations.GetGlobalHubsResponse, error) {
hookCtx := hooks.HookContext{
Context: ctx,
OperationID: "getGlobalHubs",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
request := operations.GetGlobalHubsRequest{
Count: count,
OnlyTransient: onlyTransient,
@@ -64,6 +57,14 @@ func (s *Hubs) GetGlobalHubs(ctx context.Context, count *float64, onlyTransient
return nil, fmt.Errorf("error generating URL: %w", err)
}
hookCtx := hooks.HookContext{
BaseURL: baseURL,
Context: ctx,
OperationID: "getGlobalHubs",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
timeout := o.Timeout
if timeout == nil {
timeout = s.sdkConfiguration.Timeout
@@ -282,13 +283,6 @@ func (s *Hubs) GetGlobalHubs(ctx context.Context, count *float64, onlyTransient
// GetRecentlyAdded - Get Recently Added
// This endpoint will return the recently added content.
func (s *Hubs) GetRecentlyAdded(ctx context.Context, request operations.GetRecentlyAddedRequest, opts ...operations.Option) (*operations.GetRecentlyAddedResponse, error) {
hookCtx := hooks.HookContext{
Context: ctx,
OperationID: "get-recently-added",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
o := operations.Options{}
supportedOptions := []string{
operations.SupportedOptionRetries,
@@ -312,6 +306,14 @@ func (s *Hubs) GetRecentlyAdded(ctx context.Context, request operations.GetRecen
return nil, fmt.Errorf("error generating URL: %w", err)
}
hookCtx := hooks.HookContext{
BaseURL: baseURL,
Context: ctx,
OperationID: "get-recently-added",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
timeout := o.Timeout
if timeout == nil {
timeout = s.sdkConfiguration.Timeout
@@ -490,13 +492,6 @@ func (s *Hubs) GetRecentlyAdded(ctx context.Context, request operations.GetRecen
// GetLibraryHubs - Get library specific hubs
// This endpoint will return a list of library specific hubs
func (s *Hubs) GetLibraryHubs(ctx context.Context, sectionID float64, count *float64, onlyTransient *operations.QueryParamOnlyTransient, opts ...operations.Option) (*operations.GetLibraryHubsResponse, error) {
hookCtx := hooks.HookContext{
Context: ctx,
OperationID: "getLibraryHubs",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
request := operations.GetLibraryHubsRequest{
SectionID: sectionID,
Count: count,
@@ -526,6 +521,14 @@ func (s *Hubs) GetLibraryHubs(ctx context.Context, sectionID float64, count *flo
return nil, fmt.Errorf("error generating URL: %w", err)
}
hookCtx := hooks.HookContext{
BaseURL: baseURL,
Context: ctx,
OperationID: "getLibraryHubs",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
timeout := o.Timeout
if timeout == nil {
timeout = s.sdkConfiguration.Timeout

View File

@@ -24,6 +24,7 @@ type HTTPClient interface {
}
type HookContext struct {
BaseURL string
Context context.Context
OperationID string
OAuth2Scopes []string

View File

@@ -15,11 +15,15 @@ import (
"github.com/LukeHagar/plexgo/types"
)
func populateForm(paramName string, explode bool, objType reflect.Type, objValue reflect.Value, delimiter string, getFieldName func(reflect.StructField) string) url.Values {
func populateForm(paramName string, explode bool, objType reflect.Type, objValue reflect.Value, delimiter string, defaultValue *string, getFieldName func(reflect.StructField) string) url.Values {
formValues := url.Values{}
if isNil(objType, objValue) {
if defaultValue != nil {
formValues.Add(paramName, *defaultValue)
}
return formValues
}

View File

@@ -71,6 +71,8 @@ func populateQueryParams(queryParams interface{}, globals interface{}, values ur
continue
}
defaultValue := parseDefaultTag(fieldType)
if globals != nil {
var globalFound bool
fieldType, valType, globalFound = populateFromGlobals(fieldType, valType, queryParamTagKey, globals)
@@ -97,14 +99,14 @@ func populateQueryParams(queryParams interface{}, globals interface{}, values ur
}
}
case "form":
vals := populateFormParams(qpTag, fieldType.Type, valType, ",")
vals := populateFormParams(qpTag, fieldType.Type, valType, ",", defaultValue)
for k, v := range vals {
for _, vv := range v {
values.Add(k, vv)
}
}
case "pipeDelimited":
vals := populateFormParams(qpTag, fieldType.Type, valType, "|")
vals := populateFormParams(qpTag, fieldType.Type, valType, "|", defaultValue)
for k, v := range vals {
for _, vv := range v {
values.Add(k, vv)
@@ -246,8 +248,8 @@ func populateDeepObjectParamsStruct(qsValues url.Values, priorScope string, stru
}
}
func populateFormParams(tag *paramTag, objType reflect.Type, objValue reflect.Value, delimiter string) url.Values {
return populateForm(tag.ParamName, tag.Explode, objType, objValue, delimiter, func(fieldType reflect.StructField) string {
func populateFormParams(tag *paramTag, objType reflect.Type, objValue reflect.Value, delimiter string, defaultValue *string) url.Values {
return populateForm(tag.ParamName, tag.Explode, objType, objValue, delimiter, defaultValue, func(fieldType reflect.StructField) string {
qpTag := parseQueryParamTag(fieldType)
if qpTag == nil {
return ""

View File

@@ -292,7 +292,7 @@ func encodeFormData(fieldName string, w io.Writer, data interface{}) error {
switch tag.Style {
// TODO: support other styles
case "form":
values := populateForm(tag.Name, tag.Explode, fieldType, valType, ",", func(sf reflect.StructField) string {
values := populateForm(tag.Name, tag.Explode, fieldType, valType, ",", nil, func(sf reflect.StructField) string {
tag := parseFormTag(field)
if tag == nil {
return ""

View File

@@ -106,6 +106,16 @@ func parseConstTag(field reflect.StructField) *string {
return &value
}
func parseDefaultTag(field reflect.StructField) *string {
value := field.Tag.Get("default")
if value == "" {
return nil
}
return &value
}
func parseStructTag(tagKey string, field reflect.StructField) map[string]string {
tag := field.Tag.Get(tagKey)
if tag == "" {

View File

@@ -29,13 +29,6 @@ func newLibrary(sdkConfig sdkConfiguration) *Library {
// GetFileHash - Get Hash Value
// This resource returns hash values for local files
func (s *Library) GetFileHash(ctx context.Context, url_ string, type_ *float64, opts ...operations.Option) (*operations.GetFileHashResponse, error) {
hookCtx := hooks.HookContext{
Context: ctx,
OperationID: "getFileHash",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
request := operations.GetFileHashRequest{
URL: url_,
Type: type_,
@@ -64,6 +57,14 @@ func (s *Library) GetFileHash(ctx context.Context, url_ string, type_ *float64,
return nil, fmt.Errorf("error generating URL: %w", err)
}
hookCtx := hooks.HookContext{
BaseURL: baseURL,
Context: ctx,
OperationID: "getFileHash",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
timeout := o.Timeout
if timeout == nil {
timeout = s.sdkConfiguration.Timeout
@@ -262,13 +263,6 @@ func (s *Library) GetFileHash(ctx context.Context, url_ string, type_ *float64,
// GetRecentlyAddedLibrary - Get Recently Added
// This endpoint will return the recently added content.
func (s *Library) GetRecentlyAddedLibrary(ctx context.Context, request operations.GetRecentlyAddedLibraryRequest, opts ...operations.Option) (*operations.GetRecentlyAddedLibraryResponse, error) {
hookCtx := hooks.HookContext{
Context: ctx,
OperationID: "get-recently-added-library",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
o := operations.Options{}
supportedOptions := []string{
operations.SupportedOptionRetries,
@@ -292,6 +286,14 @@ func (s *Library) GetRecentlyAddedLibrary(ctx context.Context, request operation
return nil, fmt.Errorf("error generating URL: %w", err)
}
hookCtx := hooks.HookContext{
BaseURL: baseURL,
Context: ctx,
OperationID: "get-recently-added-library",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
timeout := o.Timeout
if timeout == nil {
timeout = s.sdkConfiguration.Timeout
@@ -515,13 +517,6 @@ func (s *Library) GetRecentlyAddedLibrary(ctx context.Context, request operation
// Libraries have features beyond just being a collection of media; for starters, they include information about supported types, filters and sorts.
// This allows a client to provide a rich interface around the media (e.g. allow sorting movies by release year).
func (s *Library) GetAllLibraries(ctx context.Context, opts ...operations.Option) (*operations.GetAllLibrariesResponse, error) {
hookCtx := hooks.HookContext{
Context: ctx,
OperationID: "get-all-libraries",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
o := operations.Options{}
supportedOptions := []string{
operations.SupportedOptionRetries,
@@ -545,6 +540,14 @@ func (s *Library) GetAllLibraries(ctx context.Context, opts ...operations.Option
return nil, fmt.Errorf("error generating URL: %w", err)
}
hookCtx := hooks.HookContext{
BaseURL: baseURL,
Context: ctx,
OperationID: "get-all-libraries",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
timeout := o.Timeout
if timeout == nil {
timeout = s.sdkConfiguration.Timeout
@@ -797,13 +800,6 @@ func (s *Library) GetAllLibraries(ctx context.Context, opts ...operations.Option
//
// > **Note**: Filters and sorts are optional; without them, no filtering controls are rendered.
func (s *Library) GetLibraryDetails(ctx context.Context, sectionKey int, includeDetails *operations.IncludeDetails, opts ...operations.Option) (*operations.GetLibraryDetailsResponse, error) {
hookCtx := hooks.HookContext{
Context: ctx,
OperationID: "get-library-details",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
request := operations.GetLibraryDetailsRequest{
IncludeDetails: includeDetails,
SectionKey: sectionKey,
@@ -832,6 +828,14 @@ func (s *Library) GetLibraryDetails(ctx context.Context, sectionKey int, include
return nil, fmt.Errorf("error generating URL: %w", err)
}
hookCtx := hooks.HookContext{
BaseURL: baseURL,
Context: ctx,
OperationID: "get-library-details",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
timeout := o.Timeout
if timeout == nil {
timeout = s.sdkConfiguration.Timeout
@@ -1050,13 +1054,6 @@ func (s *Library) GetLibraryDetails(ctx context.Context, sectionKey int, include
// DeleteLibrary - Delete Library Section
// Delete a library using a specific section id
func (s *Library) DeleteLibrary(ctx context.Context, sectionKey int, opts ...operations.Option) (*operations.DeleteLibraryResponse, error) {
hookCtx := hooks.HookContext{
Context: ctx,
OperationID: "deleteLibrary",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
request := operations.DeleteLibraryRequest{
SectionKey: sectionKey,
}
@@ -1084,6 +1081,14 @@ func (s *Library) DeleteLibrary(ctx context.Context, sectionKey int, opts ...ope
return nil, fmt.Errorf("error generating URL: %w", err)
}
hookCtx := hooks.HookContext{
BaseURL: baseURL,
Context: ctx,
OperationID: "deleteLibrary",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
timeout := o.Timeout
if timeout == nil {
timeout = s.sdkConfiguration.Timeout
@@ -1298,13 +1303,6 @@ func (s *Library) DeleteLibrary(ctx context.Context, sectionKey int, opts ...ope
// - `folder`: Items categorized by folder.
// - `albums`: Items categorized by album.
func (s *Library) GetLibraryItems(ctx context.Context, request operations.GetLibraryItemsRequest, opts ...operations.Option) (*operations.GetLibraryItemsResponse, error) {
hookCtx := hooks.HookContext{
Context: ctx,
OperationID: "get-library-items",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
o := operations.Options{}
supportedOptions := []string{
operations.SupportedOptionRetries,
@@ -1328,6 +1326,14 @@ func (s *Library) GetLibraryItems(ctx context.Context, request operations.GetLib
return nil, fmt.Errorf("error generating URL: %w", err)
}
hookCtx := hooks.HookContext{
BaseURL: baseURL,
Context: ctx,
OperationID: "get-library-items",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
timeout := o.Timeout
if timeout == nil {
timeout = s.sdkConfiguration.Timeout
@@ -1546,13 +1552,6 @@ func (s *Library) GetLibraryItems(ctx context.Context, request operations.GetLib
// GetAllMediaLibrary - Get all media of library
// Retrieves a list of all general media data for this library.
func (s *Library) GetAllMediaLibrary(ctx context.Context, request operations.GetAllMediaLibraryRequest, opts ...operations.Option) (*operations.GetAllMediaLibraryResponse, error) {
hookCtx := hooks.HookContext{
Context: ctx,
OperationID: "get-all-media-library",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
o := operations.Options{}
supportedOptions := []string{
operations.SupportedOptionRetries,
@@ -1576,6 +1575,14 @@ func (s *Library) GetAllMediaLibrary(ctx context.Context, request operations.Get
return nil, fmt.Errorf("error generating URL: %w", err)
}
hookCtx := hooks.HookContext{
BaseURL: baseURL,
Context: ctx,
OperationID: "get-all-media-library",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
timeout := o.Timeout
if timeout == nil {
timeout = s.sdkConfiguration.Timeout
@@ -1796,13 +1803,6 @@ func (s *Library) GetAllMediaLibrary(ctx context.Context, request operations.Get
// GetRefreshLibraryMetadata - Refresh Metadata Of The Library
// This endpoint Refreshes all the Metadata of the library.
func (s *Library) GetRefreshLibraryMetadata(ctx context.Context, sectionKey int, force *operations.Force, opts ...operations.Option) (*operations.GetRefreshLibraryMetadataResponse, error) {
hookCtx := hooks.HookContext{
Context: ctx,
OperationID: "get-refresh-library-metadata",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
request := operations.GetRefreshLibraryMetadataRequest{
Force: force,
SectionKey: sectionKey,
@@ -1831,6 +1831,14 @@ func (s *Library) GetRefreshLibraryMetadata(ctx context.Context, sectionKey int,
return nil, fmt.Errorf("error generating URL: %w", err)
}
hookCtx := hooks.HookContext{
BaseURL: baseURL,
Context: ctx,
OperationID: "get-refresh-library-metadata",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
timeout := o.Timeout
if timeout == nil {
timeout = s.sdkConfiguration.Timeout
@@ -2046,13 +2054,6 @@ func (s *Library) GetRefreshLibraryMetadata(ctx context.Context, sectionKey int,
//
// > **Note**: Filters and sorts are optional; without them, no filtering controls are rendered.
func (s *Library) GetSearchLibrary(ctx context.Context, sectionKey int, type_ operations.GetSearchLibraryQueryParamType, opts ...operations.Option) (*operations.GetSearchLibraryResponse, error) {
hookCtx := hooks.HookContext{
Context: ctx,
OperationID: "get-search-library",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
request := operations.GetSearchLibraryRequest{
SectionKey: sectionKey,
Type: type_,
@@ -2081,6 +2082,14 @@ func (s *Library) GetSearchLibrary(ctx context.Context, sectionKey int, type_ op
return nil, fmt.Errorf("error generating URL: %w", err)
}
hookCtx := hooks.HookContext{
BaseURL: baseURL,
Context: ctx,
OperationID: "get-search-library",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
timeout := o.Timeout
if timeout == nil {
timeout = s.sdkConfiguration.Timeout
@@ -2299,13 +2308,6 @@ func (s *Library) GetSearchLibrary(ctx context.Context, sectionKey int, type_ op
// GetGenresLibrary - Get Genres of library media
// Retrieves a list of all the genres that are found for the media in this library.
func (s *Library) GetGenresLibrary(ctx context.Context, sectionKey int, type_ operations.GetGenresLibraryQueryParamType, opts ...operations.Option) (*operations.GetGenresLibraryResponse, error) {
hookCtx := hooks.HookContext{
Context: ctx,
OperationID: "get-genres-library",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
request := operations.GetGenresLibraryRequest{
SectionKey: sectionKey,
Type: type_,
@@ -2334,6 +2336,14 @@ func (s *Library) GetGenresLibrary(ctx context.Context, sectionKey int, type_ op
return nil, fmt.Errorf("error generating URL: %w", err)
}
hookCtx := hooks.HookContext{
BaseURL: baseURL,
Context: ctx,
OperationID: "get-genres-library",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
timeout := o.Timeout
if timeout == nil {
timeout = s.sdkConfiguration.Timeout
@@ -2554,13 +2564,6 @@ func (s *Library) GetGenresLibrary(ctx context.Context, sectionKey int, type_ op
// GetCountriesLibrary - Get Countries of library media
// Retrieves a list of all the countries that are found for the media in this library.
func (s *Library) GetCountriesLibrary(ctx context.Context, sectionKey int, type_ operations.GetCountriesLibraryQueryParamType, opts ...operations.Option) (*operations.GetCountriesLibraryResponse, error) {
hookCtx := hooks.HookContext{
Context: ctx,
OperationID: "get-countries-library",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
request := operations.GetCountriesLibraryRequest{
SectionKey: sectionKey,
Type: type_,
@@ -2589,6 +2592,14 @@ func (s *Library) GetCountriesLibrary(ctx context.Context, sectionKey int, type_
return nil, fmt.Errorf("error generating URL: %w", err)
}
hookCtx := hooks.HookContext{
BaseURL: baseURL,
Context: ctx,
OperationID: "get-countries-library",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
timeout := o.Timeout
if timeout == nil {
timeout = s.sdkConfiguration.Timeout
@@ -2809,13 +2820,6 @@ func (s *Library) GetCountriesLibrary(ctx context.Context, sectionKey int, type_
// GetActorsLibrary - Get Actors of library media
// Retrieves a list of all the actors that are found for the media in this library.
func (s *Library) GetActorsLibrary(ctx context.Context, sectionKey int, type_ operations.GetActorsLibraryQueryParamType, opts ...operations.Option) (*operations.GetActorsLibraryResponse, error) {
hookCtx := hooks.HookContext{
Context: ctx,
OperationID: "get-actors-library",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
request := operations.GetActorsLibraryRequest{
SectionKey: sectionKey,
Type: type_,
@@ -2844,6 +2848,14 @@ func (s *Library) GetActorsLibrary(ctx context.Context, sectionKey int, type_ op
return nil, fmt.Errorf("error generating URL: %w", err)
}
hookCtx := hooks.HookContext{
BaseURL: baseURL,
Context: ctx,
OperationID: "get-actors-library",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
timeout := o.Timeout
if timeout == nil {
timeout = s.sdkConfiguration.Timeout
@@ -3064,13 +3076,6 @@ func (s *Library) GetActorsLibrary(ctx context.Context, sectionKey int, type_ op
// GetSearchAllLibraries - Search All Libraries
// Search the provided query across all library sections, or a single section, and return matches as hubs, split up by type.
func (s *Library) GetSearchAllLibraries(ctx context.Context, request operations.GetSearchAllLibrariesRequest, opts ...operations.Option) (*operations.GetSearchAllLibrariesResponse, error) {
hookCtx := hooks.HookContext{
Context: ctx,
OperationID: "get-search-all-libraries",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
o := operations.Options{}
supportedOptions := []string{
operations.SupportedOptionRetries,
@@ -3094,6 +3099,14 @@ func (s *Library) GetSearchAllLibraries(ctx context.Context, request operations.
return nil, fmt.Errorf("error generating URL: %w", err)
}
hookCtx := hooks.HookContext{
BaseURL: baseURL,
Context: ctx,
OperationID: "get-search-all-libraries",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
timeout := o.Timeout
if timeout == nil {
timeout = s.sdkConfiguration.Timeout
@@ -3314,13 +3327,6 @@ func (s *Library) GetSearchAllLibraries(ctx context.Context, request operations.
// GetMediaMetaData - Get Media Metadata
// This endpoint will return all the (meta)data of a library item specified with by the ratingKey.
func (s *Library) GetMediaMetaData(ctx context.Context, request operations.GetMediaMetaDataRequest, opts ...operations.Option) (*operations.GetMediaMetaDataResponse, error) {
hookCtx := hooks.HookContext{
Context: ctx,
OperationID: "get-media-meta-data",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
o := operations.Options{}
supportedOptions := []string{
operations.SupportedOptionRetries,
@@ -3344,6 +3350,14 @@ func (s *Library) GetMediaMetaData(ctx context.Context, request operations.GetMe
return nil, fmt.Errorf("error generating URL: %w", err)
}
hookCtx := hooks.HookContext{
BaseURL: baseURL,
Context: ctx,
OperationID: "get-media-meta-data",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
timeout := o.Timeout
if timeout == nil {
timeout = s.sdkConfiguration.Timeout
@@ -3564,13 +3578,6 @@ func (s *Library) GetMediaMetaData(ctx context.Context, request operations.GetMe
// GetMetadataChildren - Get Items Children
// This endpoint will return the children of of a library item specified with the ratingKey.
func (s *Library) GetMetadataChildren(ctx context.Context, ratingKey float64, includeElements *string, opts ...operations.Option) (*operations.GetMetadataChildrenResponse, error) {
hookCtx := hooks.HookContext{
Context: ctx,
OperationID: "getMetadataChildren",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
request := operations.GetMetadataChildrenRequest{
RatingKey: ratingKey,
IncludeElements: includeElements,
@@ -3599,6 +3606,14 @@ func (s *Library) GetMetadataChildren(ctx context.Context, ratingKey float64, in
return nil, fmt.Errorf("error generating URL: %w", err)
}
hookCtx := hooks.HookContext{
BaseURL: baseURL,
Context: ctx,
OperationID: "getMetadataChildren",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
timeout := o.Timeout
if timeout == nil {
timeout = s.sdkConfiguration.Timeout
@@ -3817,13 +3832,6 @@ func (s *Library) GetMetadataChildren(ctx context.Context, ratingKey float64, in
// GetTopWatchedContent - Get Top Watched Content
// This endpoint will return the top watched content from libraries of a certain type
func (s *Library) GetTopWatchedContent(ctx context.Context, type_ operations.GetTopWatchedContentQueryParamType, includeGuids *int64, opts ...operations.Option) (*operations.GetTopWatchedContentResponse, error) {
hookCtx := hooks.HookContext{
Context: ctx,
OperationID: "getTopWatchedContent",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
request := operations.GetTopWatchedContentRequest{
IncludeGuids: includeGuids,
Type: type_,
@@ -3852,6 +3860,14 @@ func (s *Library) GetTopWatchedContent(ctx context.Context, type_ operations.Get
return nil, fmt.Errorf("error generating URL: %w", err)
}
hookCtx := hooks.HookContext{
BaseURL: baseURL,
Context: ctx,
OperationID: "getTopWatchedContent",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
timeout := o.Timeout
if timeout == nil {
timeout = s.sdkConfiguration.Timeout
@@ -4066,247 +4082,3 @@ func (s *Library) GetTopWatchedContent(ctx context.Context, type_ operations.Get
return res, nil
}
// GetOnDeck - Get On Deck
// This endpoint will return the on deck content.
func (s *Library) GetOnDeck(ctx context.Context, opts ...operations.Option) (*operations.GetOnDeckResponse, error) {
hookCtx := hooks.HookContext{
Context: ctx,
OperationID: "getOnDeck",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
o := operations.Options{}
supportedOptions := []string{
operations.SupportedOptionRetries,
operations.SupportedOptionTimeout,
}
for _, opt := range opts {
if err := opt(&o, supportedOptions...); err != nil {
return nil, fmt.Errorf("error applying option: %w", err)
}
}
var baseURL string
if o.ServerURL == nil {
baseURL = utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
} else {
baseURL = *o.ServerURL
}
opURL, err := url.JoinPath(baseURL, "/library/onDeck")
if err != nil {
return nil, fmt.Errorf("error generating URL: %w", err)
}
timeout := o.Timeout
if timeout == nil {
timeout = s.sdkConfiguration.Timeout
}
if timeout != nil {
var cancel context.CancelFunc
ctx, cancel = context.WithTimeout(ctx, *timeout)
defer cancel()
}
req, err := http.NewRequestWithContext(ctx, "GET", opURL, nil)
if err != nil {
return nil, fmt.Errorf("error creating request: %w", err)
}
req.Header.Set("Accept", "application/json")
req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent)
if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil {
return nil, err
}
for k, v := range o.SetHeaders {
req.Header.Set(k, v)
}
globalRetryConfig := s.sdkConfiguration.RetryConfig
retryConfig := o.Retries
if retryConfig == nil {
if globalRetryConfig != nil {
retryConfig = globalRetryConfig
}
}
var httpRes *http.Response
if retryConfig != nil {
httpRes, err = utils.Retry(ctx, utils.Retries{
Config: retryConfig,
StatusCodes: []string{
"429",
"500",
"502",
"503",
"504",
},
}, func() (*http.Response, error) {
if req.Body != nil {
copyBody, err := req.GetBody()
if err != nil {
return nil, err
}
req.Body = copyBody
}
req, err = s.sdkConfiguration.Hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req)
if err != nil {
if retry.IsPermanentError(err) || retry.IsTemporaryError(err) {
return nil, err
}
return nil, retry.Permanent(err)
}
httpRes, err := s.sdkConfiguration.Client.Do(req)
if err != nil || httpRes == nil {
if err != nil {
err = fmt.Errorf("error sending request: %w", err)
} else {
err = fmt.Errorf("error sending request: no response")
}
_, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err)
}
return httpRes, err
})
if err != nil {
return nil, err
} else {
httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes)
if err != nil {
return nil, err
}
}
} else {
req, err = s.sdkConfiguration.Hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req)
if err != nil {
return nil, err
}
httpRes, err = s.sdkConfiguration.Client.Do(req)
if err != nil || httpRes == nil {
if err != nil {
err = fmt.Errorf("error sending request: %w", err)
} else {
err = fmt.Errorf("error sending request: no response")
}
_, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err)
return nil, err
} else if utils.MatchStatusCodes([]string{"400", "401", "4XX", "5XX"}, httpRes.StatusCode) {
_httpRes, err := s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil)
if err != nil {
return nil, err
} else if _httpRes != nil {
httpRes = _httpRes
}
} else {
httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes)
if err != nil {
return nil, err
}
}
}
res := &operations.GetOnDeckResponse{
StatusCode: httpRes.StatusCode,
ContentType: httpRes.Header.Get("Content-Type"),
RawResponse: httpRes,
}
switch {
case httpRes.StatusCode == 200:
switch {
case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`):
rawBody, err := utils.ConsumeRawBody(httpRes)
if err != nil {
return nil, err
}
var out operations.GetOnDeckResponseBody
if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
return nil, err
}
res.Object = &out
default:
rawBody, err := utils.ConsumeRawBody(httpRes)
if err != nil {
return nil, err
}
return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes)
}
case httpRes.StatusCode == 400:
switch {
case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`):
rawBody, err := utils.ConsumeRawBody(httpRes)
if err != nil {
return nil, err
}
var out sdkerrors.GetOnDeckBadRequest
if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
return nil, err
}
out.RawResponse = httpRes
return nil, &out
default:
rawBody, err := utils.ConsumeRawBody(httpRes)
if err != nil {
return nil, err
}
return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes)
}
case httpRes.StatusCode == 401:
switch {
case utils.MatchContentType(httpRes.Header.Get("Content-Type"), `application/json`):
rawBody, err := utils.ConsumeRawBody(httpRes)
if err != nil {
return nil, err
}
var out sdkerrors.GetOnDeckUnauthorized
if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
return nil, err
}
out.RawResponse = httpRes
return nil, &out
default:
rawBody, err := utils.ConsumeRawBody(httpRes)
if err != nil {
return nil, err
}
return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", httpRes.Header.Get("Content-Type")), httpRes.StatusCode, string(rawBody), httpRes)
}
case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500:
rawBody, err := utils.ConsumeRawBody(httpRes)
if err != nil {
return nil, err
}
return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes)
case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600:
rawBody, err := utils.ConsumeRawBody(httpRes)
if err != nil {
return nil, err
}
return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes)
default:
rawBody, err := utils.ConsumeRawBody(httpRes)
if err != nil {
return nil, err
}
return nil, sdkerrors.NewSDKError("unknown status code returned", httpRes.StatusCode, string(rawBody), httpRes)
}
return res, nil
}

44
log.go
View File

@@ -29,13 +29,6 @@ func newLog(sdkConfig sdkConfiguration) *Log {
// LogLine - Logging a single line message.
// This endpoint will write a single-line log message, including a level and source to the main Plex Media Server log.
func (s *Log) LogLine(ctx context.Context, level operations.Level, message string, source string, opts ...operations.Option) (*operations.LogLineResponse, error) {
hookCtx := hooks.HookContext{
Context: ctx,
OperationID: "logLine",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
request := operations.LogLineRequest{
Level: level,
Message: message,
@@ -65,6 +58,14 @@ func (s *Log) LogLine(ctx context.Context, level operations.Level, message strin
return nil, fmt.Errorf("error generating URL: %w", err)
}
hookCtx := hooks.HookContext{
BaseURL: baseURL,
Context: ctx,
OperationID: "logLine",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
timeout := o.Timeout
if timeout == nil {
timeout = s.sdkConfiguration.Timeout
@@ -283,13 +284,6 @@ func (s *Log) LogLine(ctx context.Context, level operations.Level, message strin
//
// Ensure each parameter is properly URL-encoded to avoid interpretation issues.
func (s *Log) LogMultiLine(ctx context.Context, request string, opts ...operations.Option) (*operations.LogMultiLineResponse, error) {
hookCtx := hooks.HookContext{
Context: ctx,
OperationID: "logMultiLine",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
o := operations.Options{}
supportedOptions := []string{
operations.SupportedOptionRetries,
@@ -313,6 +307,13 @@ func (s *Log) LogMultiLine(ctx context.Context, request string, opts ...operatio
return nil, fmt.Errorf("error generating URL: %w", err)
}
hookCtx := hooks.HookContext{
BaseURL: baseURL,
Context: ctx,
OperationID: "logMultiLine",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "Request", "string", `request:"mediaType=text/plain"`)
if err != nil {
return nil, err
@@ -515,13 +516,6 @@ func (s *Log) LogMultiLine(ctx context.Context, request string, opts ...operatio
// EnablePaperTrail - Enabling Papertrail
// This endpoint will enable all Plex Media Serverlogs to be sent to the Papertrail networked logging site for a period of time.
func (s *Log) EnablePaperTrail(ctx context.Context, opts ...operations.Option) (*operations.EnablePaperTrailResponse, error) {
hookCtx := hooks.HookContext{
Context: ctx,
OperationID: "enablePaperTrail",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
o := operations.Options{}
supportedOptions := []string{
operations.SupportedOptionRetries,
@@ -545,6 +539,14 @@ func (s *Log) EnablePaperTrail(ctx context.Context, opts ...operations.Option) (
return nil, fmt.Errorf("error generating URL: %w", err)
}
hookCtx := hooks.HookContext{
BaseURL: baseURL,
Context: ctx,
OperationID: "enablePaperTrail",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
timeout := o.Timeout
if timeout == nil {
timeout = s.sdkConfiguration.Timeout

View File

@@ -29,13 +29,6 @@ func newMedia(sdkConfig sdkConfiguration) *Media {
// MarkPlayed - Mark Media Played
// This will mark the provided media key as Played.
func (s *Media) MarkPlayed(ctx context.Context, key float64, opts ...operations.Option) (*operations.MarkPlayedResponse, error) {
hookCtx := hooks.HookContext{
Context: ctx,
OperationID: "markPlayed",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
request := operations.MarkPlayedRequest{
Key: key,
}
@@ -63,6 +56,14 @@ func (s *Media) MarkPlayed(ctx context.Context, key float64, opts ...operations.
return nil, fmt.Errorf("error generating URL: %w", err)
}
hookCtx := hooks.HookContext{
BaseURL: baseURL,
Context: ctx,
OperationID: "markPlayed",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
timeout := o.Timeout
if timeout == nil {
timeout = s.sdkConfiguration.Timeout
@@ -261,13 +262,6 @@ func (s *Media) MarkPlayed(ctx context.Context, key float64, opts ...operations.
// MarkUnplayed - Mark Media Unplayed
// This will mark the provided media key as Unplayed.
func (s *Media) MarkUnplayed(ctx context.Context, key float64, opts ...operations.Option) (*operations.MarkUnplayedResponse, error) {
hookCtx := hooks.HookContext{
Context: ctx,
OperationID: "markUnplayed",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
request := operations.MarkUnplayedRequest{
Key: key,
}
@@ -295,6 +289,14 @@ func (s *Media) MarkUnplayed(ctx context.Context, key float64, opts ...operation
return nil, fmt.Errorf("error generating URL: %w", err)
}
hookCtx := hooks.HookContext{
BaseURL: baseURL,
Context: ctx,
OperationID: "markUnplayed",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
timeout := o.Timeout
if timeout == nil {
timeout = s.sdkConfiguration.Timeout
@@ -493,13 +495,6 @@ func (s *Media) MarkUnplayed(ctx context.Context, key float64, opts ...operation
// UpdatePlayProgress - Update Media Play Progress
// This API command can be used to update the play progress of a media item.
func (s *Media) UpdatePlayProgress(ctx context.Context, key string, time float64, state string, opts ...operations.Option) (*operations.UpdatePlayProgressResponse, error) {
hookCtx := hooks.HookContext{
Context: ctx,
OperationID: "updatePlayProgress",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
request := operations.UpdatePlayProgressRequest{
Key: key,
Time: time,
@@ -529,6 +524,14 @@ func (s *Media) UpdatePlayProgress(ctx context.Context, key string, time float64
return nil, fmt.Errorf("error generating URL: %w", err)
}
hookCtx := hooks.HookContext{
BaseURL: baseURL,
Context: ctx,
OperationID: "updatePlayProgress",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
timeout := o.Timeout
if timeout == nil {
timeout = s.sdkConfiguration.Timeout
@@ -727,13 +730,6 @@ func (s *Media) UpdatePlayProgress(ctx context.Context, key string, time float64
// GetBannerImage - Get Banner Image
// Gets the banner image of the media item
func (s *Media) GetBannerImage(ctx context.Context, request operations.GetBannerImageRequest, opts ...operations.Option) (*operations.GetBannerImageResponse, error) {
hookCtx := hooks.HookContext{
Context: ctx,
OperationID: "get-banner-image",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
o := operations.Options{}
supportedOptions := []string{
operations.SupportedOptionRetries,
@@ -757,6 +753,14 @@ func (s *Media) GetBannerImage(ctx context.Context, request operations.GetBanner
return nil, fmt.Errorf("error generating URL: %w", err)
}
hookCtx := hooks.HookContext{
BaseURL: baseURL,
Context: ctx,
OperationID: "get-banner-image",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
timeout := o.Timeout
if timeout == nil {
timeout = s.sdkConfiguration.Timeout
@@ -971,13 +975,6 @@ func (s *Media) GetBannerImage(ctx context.Context, request operations.GetBanner
// GetThumbImage - Get Thumb Image
// Gets the thumbnail image of the media item
func (s *Media) GetThumbImage(ctx context.Context, request operations.GetThumbImageRequest, opts ...operations.Option) (*operations.GetThumbImageResponse, error) {
hookCtx := hooks.HookContext{
Context: ctx,
OperationID: "get-thumb-image",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
o := operations.Options{}
supportedOptions := []string{
operations.SupportedOptionRetries,
@@ -1001,6 +998,14 @@ func (s *Media) GetThumbImage(ctx context.Context, request operations.GetThumbIm
return nil, fmt.Errorf("error generating URL: %w", err)
}
hookCtx := hooks.HookContext{
BaseURL: baseURL,
Context: ctx,
OperationID: "get-thumb-image",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
timeout := o.Timeout
if timeout == nil {
timeout = s.sdkConfiguration.Timeout

View File

@@ -778,17 +778,17 @@ func (o *GetAllMediaLibraryUltraBlurColors) GetBottomLeft() string {
return o.BottomLeft
}
type One int
type OptimizedForStreaming1 int
const (
OneZero One = 0
OneOne One = 1
OptimizedForStreaming1Zero OptimizedForStreaming1 = 0
OptimizedForStreaming1One OptimizedForStreaming1 = 1
)
func (e One) ToPointer() *One {
func (e OptimizedForStreaming1) ToPointer() *OptimizedForStreaming1 {
return &e
}
func (e *One) UnmarshalJSON(data []byte) error {
func (e *OptimizedForStreaming1) UnmarshalJSON(data []byte) error {
var v int
if err := json.Unmarshal(data, &v); err != nil {
return err
@@ -797,34 +797,34 @@ func (e *One) UnmarshalJSON(data []byte) error {
case 0:
fallthrough
case 1:
*e = One(v)
*e = OptimizedForStreaming1(v)
return nil
default:
return fmt.Errorf("invalid value for One: %v", v)
return fmt.Errorf("invalid value for OptimizedForStreaming1: %v", v)
}
}
type GetAllMediaLibraryOptimizedForStreamingType string
const (
GetAllMediaLibraryOptimizedForStreamingTypeOne GetAllMediaLibraryOptimizedForStreamingType = "1"
GetAllMediaLibraryOptimizedForStreamingTypeBoolean GetAllMediaLibraryOptimizedForStreamingType = "boolean"
GetAllMediaLibraryOptimizedForStreamingTypeOptimizedForStreaming1 GetAllMediaLibraryOptimizedForStreamingType = "optimizedForStreaming_1"
GetAllMediaLibraryOptimizedForStreamingTypeBoolean GetAllMediaLibraryOptimizedForStreamingType = "boolean"
)
// GetAllMediaLibraryOptimizedForStreaming - Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true
type GetAllMediaLibraryOptimizedForStreaming struct {
One *One `queryParam:"inline"`
Boolean *bool `queryParam:"inline"`
OptimizedForStreaming1 *OptimizedForStreaming1 `queryParam:"inline"`
Boolean *bool `queryParam:"inline"`
Type GetAllMediaLibraryOptimizedForStreamingType
}
func CreateGetAllMediaLibraryOptimizedForStreamingOne(one One) GetAllMediaLibraryOptimizedForStreaming {
typ := GetAllMediaLibraryOptimizedForStreamingTypeOne
func CreateGetAllMediaLibraryOptimizedForStreamingOptimizedForStreaming1(optimizedForStreaming1 OptimizedForStreaming1) GetAllMediaLibraryOptimizedForStreaming {
typ := GetAllMediaLibraryOptimizedForStreamingTypeOptimizedForStreaming1
return GetAllMediaLibraryOptimizedForStreaming{
One: &one,
Type: typ,
OptimizedForStreaming1: &optimizedForStreaming1,
Type: typ,
}
}
@@ -839,10 +839,10 @@ func CreateGetAllMediaLibraryOptimizedForStreamingBoolean(boolean bool) GetAllMe
func (u *GetAllMediaLibraryOptimizedForStreaming) UnmarshalJSON(data []byte) error {
var one One = One(0)
if err := utils.UnmarshalJSON(data, &one, "", true, true); err == nil {
u.One = &one
u.Type = GetAllMediaLibraryOptimizedForStreamingTypeOne
var optimizedForStreaming1 OptimizedForStreaming1 = OptimizedForStreaming1(0)
if err := utils.UnmarshalJSON(data, &optimizedForStreaming1, "", true, true); err == nil {
u.OptimizedForStreaming1 = &optimizedForStreaming1
u.Type = GetAllMediaLibraryOptimizedForStreamingTypeOptimizedForStreaming1
return nil
}
@@ -857,8 +857,8 @@ func (u *GetAllMediaLibraryOptimizedForStreaming) UnmarshalJSON(data []byte) err
}
func (u GetAllMediaLibraryOptimizedForStreaming) MarshalJSON() ([]byte, error) {
if u.One != nil {
return utils.MarshalJSON(u.One, "", true)
if u.OptimizedForStreaming1 != nil {
return utils.MarshalJSON(u.OptimizedForStreaming1, "", true)
}
if u.Boolean != nil {
@@ -999,11 +999,11 @@ type GetAllMediaLibraryStream struct {
// Bitrate of the stream.
Bitrate *int `json:"bitrate,omitempty"`
// Language of the stream.
Language string `json:"language"`
Language *string `json:"language,omitempty"`
// Language tag (e.g., en).
LanguageTag string `json:"languageTag"`
LanguageTag *string `json:"languageTag,omitempty"`
// ISO language code.
LanguageCode string `json:"languageCode"`
LanguageCode *string `json:"languageCode,omitempty"`
// Indicates whether header compression is enabled.
HeaderCompression *bool `json:"headerCompression,omitempty"`
// Dolby Vision BL compatibility ID.
@@ -1031,7 +1031,8 @@ type GetAllMediaLibraryStream struct {
// Coded video height.
CodedHeight *int `json:"codedHeight,omitempty"`
// Coded video width.
CodedWidth *int `json:"codedWidth,omitempty"`
CodedWidth *int `json:"codedWidth,omitempty"`
ClosedCaptions *bool `json:"closedCaptions,omitempty"`
// Color primaries used.
ColorPrimaries *string `json:"colorPrimaries,omitempty"`
// Color range (e.g., tv).
@@ -1050,8 +1051,9 @@ type GetAllMediaLibraryStream struct {
Original *bool `json:"original,omitempty"`
HasScalingMatrix *bool `json:"hasScalingMatrix,omitempty"`
// Video profile.
Profile *string `json:"profile,omitempty"`
ScanType *string `json:"scanType,omitempty"`
Profile *string `json:"profile,omitempty"`
ScanType *string `json:"scanType,omitempty"`
EmbeddedInVideo *string `json:"embeddedInVideo,omitempty"`
// Number of reference frames.
RefFrames *int `json:"refFrames,omitempty"`
// Width of the video stream.
@@ -1121,23 +1123,23 @@ func (o *GetAllMediaLibraryStream) GetBitrate() *int {
return o.Bitrate
}
func (o *GetAllMediaLibraryStream) GetLanguage() string {
func (o *GetAllMediaLibraryStream) GetLanguage() *string {
if o == nil {
return ""
return nil
}
return o.Language
}
func (o *GetAllMediaLibraryStream) GetLanguageTag() string {
func (o *GetAllMediaLibraryStream) GetLanguageTag() *string {
if o == nil {
return ""
return nil
}
return o.LanguageTag
}
func (o *GetAllMediaLibraryStream) GetLanguageCode() string {
func (o *GetAllMediaLibraryStream) GetLanguageCode() *string {
if o == nil {
return ""
return nil
}
return o.LanguageCode
}
@@ -1240,6 +1242,13 @@ func (o *GetAllMediaLibraryStream) GetCodedWidth() *int {
return o.CodedWidth
}
func (o *GetAllMediaLibraryStream) GetClosedCaptions() *bool {
if o == nil {
return nil
}
return o.ClosedCaptions
}
func (o *GetAllMediaLibraryStream) GetColorPrimaries() *string {
if o == nil {
return nil
@@ -1317,6 +1326,13 @@ func (o *GetAllMediaLibraryStream) GetScanType() *string {
return o.ScanType
}
func (o *GetAllMediaLibraryStream) GetEmbeddedInVideo() *string {
if o == nil {
return nil
}
return o.EmbeddedInVideo
}
func (o *GetAllMediaLibraryStream) GetRefFrames() *int {
if o == nil {
return nil
@@ -1592,14 +1608,14 @@ type GetAllMediaLibraryMedia struct {
// Video profile (e.g., main 10).
VideoProfile *string `json:"videoProfile,omitempty"`
// Indicates whether voice activity is detected.
HasVoiceActivity bool `json:"hasVoiceActivity"`
HasVoiceActivity *bool `json:"hasVoiceActivity,omitempty"`
// The audio profile used for the media (e.g., DTS, Dolby Digital, etc.).
AudioProfile *string `json:"audioProfile,omitempty"`
// Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true
OptimizedForStreaming *GetAllMediaLibraryOptimizedForStreaming `json:"optimizedForStreaming,omitempty"`
Has64bitOffsets *bool `json:"has64bitOffsets,omitempty"`
// An array of parts for this media item.
Part []GetAllMediaLibraryPart `json:"Part"`
Part []GetAllMediaLibraryPart `json:"Part,omitempty"`
}
func (o *GetAllMediaLibraryMedia) GetID() int64 {
@@ -1700,9 +1716,9 @@ func (o *GetAllMediaLibraryMedia) GetVideoProfile() *string {
return o.VideoProfile
}
func (o *GetAllMediaLibraryMedia) GetHasVoiceActivity() bool {
func (o *GetAllMediaLibraryMedia) GetHasVoiceActivity() *bool {
if o == nil {
return false
return nil
}
return o.HasVoiceActivity
}
@@ -1730,13 +1746,14 @@ func (o *GetAllMediaLibraryMedia) GetHas64bitOffsets() *bool {
func (o *GetAllMediaLibraryMedia) GetPart() []GetAllMediaLibraryPart {
if o == nil {
return []GetAllMediaLibraryPart{}
return nil
}
return o.Part
}
type GetAllMediaLibraryGenre struct {
// The country of origin of this media item
// The genre name of this media-item
//
Tag string `json:"tag"`
}
@@ -1784,7 +1801,7 @@ func (o *GetAllMediaLibraryWriter) GetTag() string {
}
type GetAllMediaLibraryRole struct {
// The name of the actor for this role
// The display tag for the actor (typically the actor's name).
Tag string `json:"tag"`
}
@@ -1795,13 +1812,13 @@ func (o *GetAllMediaLibraryRole) GetTag() string {
return o.Tag
}
type Guids struct {
type GetAllMediaLibraryGuids struct {
// The unique identifier for the Guid. Can be imdb://tt0286347, tmdb://1763, tvdb://2337
//
ID *string `json:"id,omitempty"`
}
func (o *Guids) GetID() *string {
func (o *GetAllMediaLibraryGuids) GetID() *string {
if o == nil {
return nil
}
@@ -1846,7 +1863,7 @@ type GetAllMediaLibraryMetadata struct {
// The audience rating for the media item.
AudienceRating float64 `json:"audienceRating"`
// The release year of the media item.
Year int `json:"year"`
Year *int `json:"year,omitempty"`
// A brief tagline for the media item.
Tagline string `json:"tagline"`
// The thumbnail image URL for the media item.
@@ -1936,7 +1953,7 @@ type GetAllMediaLibraryMetadata struct {
Director []GetAllMediaLibraryDirector `json:"Director,omitempty"`
Writer []GetAllMediaLibraryWriter `json:"Writer,omitempty"`
Role []GetAllMediaLibraryRole `json:"Role,omitempty"`
Guids []Guids `json:"Guid,omitempty"`
Guids []GetAllMediaLibraryGuids `json:"Guid,omitempty"`
Collection []GetAllMediaLibraryCollection `json:"Collection,omitempty"`
}
@@ -2035,9 +2052,9 @@ func (o *GetAllMediaLibraryMetadata) GetAudienceRating() float64 {
return o.AudienceRating
}
func (o *GetAllMediaLibraryMetadata) GetYear() int {
func (o *GetAllMediaLibraryMetadata) GetYear() *int {
if o == nil {
return 0
return nil
}
return o.Year
}
@@ -2385,7 +2402,7 @@ func (o *GetAllMediaLibraryMetadata) GetRole() []GetAllMediaLibraryRole {
return o.Role
}
func (o *GetAllMediaLibraryMetadata) GetGuids() []Guids {
func (o *GetAllMediaLibraryMetadata) GetGuids() []GetAllMediaLibraryGuids {
if o == nil {
return nil
}

View File

@@ -639,19 +639,19 @@ func (e *GetLibraryItemsLibraryType) UnmarshalJSON(data []byte) error {
}
}
// GetLibraryItemsFlattenSeasons - Setting that indicates if seasons are set to hidden for the show. (-1 = Library default, 0 = Hide, 1 = Show).
type GetLibraryItemsFlattenSeasons string
// FlattenSeasons - Setting that indicates if seasons are set to hidden for the show. (-1 = Library default, 0 = Hide, 1 = Show).
type FlattenSeasons string
const (
GetLibraryItemsFlattenSeasonsLibraryDefault GetLibraryItemsFlattenSeasons = "-1"
GetLibraryItemsFlattenSeasonsHide GetLibraryItemsFlattenSeasons = "0"
GetLibraryItemsFlattenSeasonsShow GetLibraryItemsFlattenSeasons = "1"
FlattenSeasonsLibraryDefault FlattenSeasons = "-1"
FlattenSeasonsHide FlattenSeasons = "0"
FlattenSeasonsShow FlattenSeasons = "1"
)
func (e GetLibraryItemsFlattenSeasons) ToPointer() *GetLibraryItemsFlattenSeasons {
func (e FlattenSeasons) ToPointer() *FlattenSeasons {
return &e
}
func (e *GetLibraryItemsFlattenSeasons) UnmarshalJSON(data []byte) error {
func (e *FlattenSeasons) UnmarshalJSON(data []byte) error {
var v string
if err := json.Unmarshal(data, &v); err != nil {
return err
@@ -662,26 +662,26 @@ func (e *GetLibraryItemsFlattenSeasons) UnmarshalJSON(data []byte) error {
case "0":
fallthrough
case "1":
*e = GetLibraryItemsFlattenSeasons(v)
*e = FlattenSeasons(v)
return nil
default:
return fmt.Errorf("invalid value for GetLibraryItemsFlattenSeasons: %v", v)
return fmt.Errorf("invalid value for FlattenSeasons: %v", v)
}
}
// GetLibraryItemsEpisodeSort - Setting that indicates how episodes are sorted for the show. (-1 = Library default, 0 = Oldest first, 1 = Newest first).
type GetLibraryItemsEpisodeSort string
// EpisodeSort - Setting that indicates how episodes are sorted for the show. (-1 = Library default, 0 = Oldest first, 1 = Newest first).
type EpisodeSort string
const (
GetLibraryItemsEpisodeSortLibraryDefault GetLibraryItemsEpisodeSort = "-1"
GetLibraryItemsEpisodeSortOldestFirst GetLibraryItemsEpisodeSort = "0"
GetLibraryItemsEpisodeSortNewestFirst GetLibraryItemsEpisodeSort = "1"
EpisodeSortLibraryDefault EpisodeSort = "-1"
EpisodeSortOldestFirst EpisodeSort = "0"
EpisodeSortNewestFirst EpisodeSort = "1"
)
func (e GetLibraryItemsEpisodeSort) ToPointer() *GetLibraryItemsEpisodeSort {
func (e EpisodeSort) ToPointer() *EpisodeSort {
return &e
}
func (e *GetLibraryItemsEpisodeSort) UnmarshalJSON(data []byte) error {
func (e *EpisodeSort) UnmarshalJSON(data []byte) error {
var v string
if err := json.Unmarshal(data, &v); err != nil {
return err
@@ -692,25 +692,25 @@ func (e *GetLibraryItemsEpisodeSort) UnmarshalJSON(data []byte) error {
case "0":
fallthrough
case "1":
*e = GetLibraryItemsEpisodeSort(v)
*e = EpisodeSort(v)
return nil
default:
return fmt.Errorf("invalid value for GetLibraryItemsEpisodeSort: %v", v)
return fmt.Errorf("invalid value for EpisodeSort: %v", v)
}
}
// GetLibraryItemsEnableCreditsMarkerGeneration - Setting that indicates if credits markers detection is enabled. (-1 = Library default, 0 = Disabled).
type GetLibraryItemsEnableCreditsMarkerGeneration string
// EnableCreditsMarkerGeneration - Setting that indicates if credits markers detection is enabled. (-1 = Library default, 0 = Disabled).
type EnableCreditsMarkerGeneration string
const (
GetLibraryItemsEnableCreditsMarkerGenerationLibraryDefault GetLibraryItemsEnableCreditsMarkerGeneration = "-1"
GetLibraryItemsEnableCreditsMarkerGenerationDisabled GetLibraryItemsEnableCreditsMarkerGeneration = "0"
EnableCreditsMarkerGenerationLibraryDefault EnableCreditsMarkerGeneration = "-1"
EnableCreditsMarkerGenerationDisabled EnableCreditsMarkerGeneration = "0"
)
func (e GetLibraryItemsEnableCreditsMarkerGeneration) ToPointer() *GetLibraryItemsEnableCreditsMarkerGeneration {
func (e EnableCreditsMarkerGeneration) ToPointer() *EnableCreditsMarkerGeneration {
return &e
}
func (e *GetLibraryItemsEnableCreditsMarkerGeneration) UnmarshalJSON(data []byte) error {
func (e *EnableCreditsMarkerGeneration) UnmarshalJSON(data []byte) error {
var v string
if err := json.Unmarshal(data, &v); err != nil {
return err
@@ -719,33 +719,33 @@ func (e *GetLibraryItemsEnableCreditsMarkerGeneration) UnmarshalJSON(data []byte
case "-1":
fallthrough
case "0":
*e = GetLibraryItemsEnableCreditsMarkerGeneration(v)
*e = EnableCreditsMarkerGeneration(v)
return nil
default:
return fmt.Errorf("invalid value for GetLibraryItemsEnableCreditsMarkerGeneration: %v", v)
return fmt.Errorf("invalid value for EnableCreditsMarkerGeneration: %v", v)
}
}
// GetLibraryItemsShowOrdering - Setting that indicates the episode ordering for the show.
// ShowOrdering - Setting that indicates the episode ordering for the show.
// None = Library default,
// tmdbAiring = The Movie Database (Aired),
// aired = TheTVDB (Aired),
// dvd = TheTVDB (DVD),
// absolute = TheTVDB (Absolute)).
type GetLibraryItemsShowOrdering string
type ShowOrdering string
const (
GetLibraryItemsShowOrderingNone GetLibraryItemsShowOrdering = "None"
GetLibraryItemsShowOrderingTmdbAiring GetLibraryItemsShowOrdering = "tmdbAiring"
GetLibraryItemsShowOrderingTvdbAired GetLibraryItemsShowOrdering = "aired"
GetLibraryItemsShowOrderingTvdbDvd GetLibraryItemsShowOrdering = "dvd"
GetLibraryItemsShowOrderingTvdbAbsolute GetLibraryItemsShowOrdering = "absolute"
ShowOrderingNone ShowOrdering = "None"
ShowOrderingTmdbAiring ShowOrdering = "tmdbAiring"
ShowOrderingTvdbAired ShowOrdering = "aired"
ShowOrderingTvdbDvd ShowOrdering = "dvd"
ShowOrderingTvdbAbsolute ShowOrdering = "absolute"
)
func (e GetLibraryItemsShowOrdering) ToPointer() *GetLibraryItemsShowOrdering {
func (e ShowOrdering) ToPointer() *ShowOrdering {
return &e
}
func (e *GetLibraryItemsShowOrdering) UnmarshalJSON(data []byte) error {
func (e *ShowOrdering) UnmarshalJSON(data []byte) error {
var v string
if err := json.Unmarshal(data, &v); err != nil {
return err
@@ -760,10 +760,10 @@ func (e *GetLibraryItemsShowOrdering) UnmarshalJSON(data []byte) error {
case "dvd":
fallthrough
case "absolute":
*e = GetLibraryItemsShowOrdering(v)
*e = ShowOrdering(v)
return nil
default:
return fmt.Errorf("invalid value for GetLibraryItemsShowOrdering: %v", v)
return fmt.Errorf("invalid value for ShowOrdering: %v", v)
}
}
@@ -1561,14 +1561,14 @@ func (o *GetLibraryItemsLocation) GetPath() *string {
return o.Path
}
type GetLibraryItemsMediaGUID struct {
type MediaGUID struct {
// Can be one of the following formats:
// imdb://tt13015952, tmdb://2434012, tvdb://7945991
//
ID string `json:"id"`
}
func (o *GetLibraryItemsMediaGUID) GetID() string {
func (o *MediaGUID) GetID() string {
if o == nil {
return ""
}
@@ -1610,7 +1610,7 @@ func (o *GetLibraryItemsUltraBlurColors) GetBottomLeft() string {
return o.BottomLeft
}
type GetLibraryItemsMetaDataRating struct {
type MetaDataRating struct {
// A URI or path to the rating image.
Image string `json:"image"`
// The value of the rating.
@@ -1619,21 +1619,21 @@ type GetLibraryItemsMetaDataRating struct {
Type string `json:"type"`
}
func (o *GetLibraryItemsMetaDataRating) GetImage() string {
func (o *MetaDataRating) GetImage() string {
if o == nil {
return ""
}
return o.Image
}
func (o *GetLibraryItemsMetaDataRating) GetValue() float32 {
func (o *MetaDataRating) GetValue() float32 {
if o == nil {
return 0.0
}
return o.Value
}
func (o *GetLibraryItemsMetaDataRating) GetType() string {
func (o *MetaDataRating) GetType() string {
if o == nil {
return ""
}
@@ -1724,11 +1724,11 @@ type GetLibraryItemsMetadata struct {
SeasonCount *int `json:"seasonCount,omitempty"`
Tagline *string `json:"tagline,omitempty"`
// Setting that indicates if seasons are set to hidden for the show. (-1 = Library default, 0 = Hide, 1 = Show).
FlattenSeasons *GetLibraryItemsFlattenSeasons `json:"flattenSeasons,omitempty"`
FlattenSeasons *FlattenSeasons `json:"flattenSeasons,omitempty"`
// Setting that indicates how episodes are sorted for the show. (-1 = Library default, 0 = Oldest first, 1 = Newest first).
EpisodeSort *GetLibraryItemsEpisodeSort `json:"episodeSort,omitempty"`
EpisodeSort *EpisodeSort `json:"episodeSort,omitempty"`
// Setting that indicates if credits markers detection is enabled. (-1 = Library default, 0 = Disabled).
EnableCreditsMarkerGeneration *GetLibraryItemsEnableCreditsMarkerGeneration `json:"enableCreditsMarkerGeneration,omitempty"`
EnableCreditsMarkerGeneration *EnableCreditsMarkerGeneration `json:"enableCreditsMarkerGeneration,omitempty"`
// Setting that indicates the episode ordering for the show.
// None = Library default,
// tmdbAiring = The Movie Database (Aired),
@@ -1736,12 +1736,12 @@ type GetLibraryItemsMetadata struct {
// dvd = TheTVDB (DVD),
// absolute = TheTVDB (Absolute)).
//
ShowOrdering *GetLibraryItemsShowOrdering `json:"showOrdering,omitempty"`
Thumb *string `json:"thumb,omitempty"`
Art *string `json:"art,omitempty"`
Banner *string `json:"banner,omitempty"`
Duration *int `json:"duration,omitempty"`
OriginallyAvailableAt *types.Date `json:"originallyAvailableAt,omitempty"`
ShowOrdering *ShowOrdering `json:"showOrdering,omitempty"`
Thumb *string `json:"thumb,omitempty"`
Art *string `json:"art,omitempty"`
Banner *string `json:"banner,omitempty"`
Duration *int `json:"duration,omitempty"`
OriginallyAvailableAt *types.Date `json:"originallyAvailableAt,omitempty"`
// Unix epoch datetime in seconds
AddedAt int64 `json:"addedAt"`
// Unix epoch datetime in seconds
@@ -1771,9 +1771,9 @@ type GetLibraryItemsMetadata struct {
Location []GetLibraryItemsLocation `json:"Location,omitempty"`
// The Guid object is only included in the response if the `includeGuids` parameter is set to `1`.
//
MediaGUID []GetLibraryItemsMediaGUID `json:"Guid,omitempty"`
MediaGUID []MediaGUID `json:"Guid,omitempty"`
UltraBlurColors *GetLibraryItemsUltraBlurColors `json:"UltraBlurColors,omitempty"`
MetaDataRating []GetLibraryItemsMetaDataRating `json:"Rating,omitempty"`
MetaDataRating []MetaDataRating `json:"Rating,omitempty"`
Image []GetLibraryItemsImage `json:"Image,omitempty"`
TitleSort *string `json:"titleSort,omitempty"`
ViewCount *int `json:"viewCount,omitempty"`
@@ -1938,28 +1938,28 @@ func (o *GetLibraryItemsMetadata) GetTagline() *string {
return o.Tagline
}
func (o *GetLibraryItemsMetadata) GetFlattenSeasons() *GetLibraryItemsFlattenSeasons {
func (o *GetLibraryItemsMetadata) GetFlattenSeasons() *FlattenSeasons {
if o == nil {
return nil
}
return o.FlattenSeasons
}
func (o *GetLibraryItemsMetadata) GetEpisodeSort() *GetLibraryItemsEpisodeSort {
func (o *GetLibraryItemsMetadata) GetEpisodeSort() *EpisodeSort {
if o == nil {
return nil
}
return o.EpisodeSort
}
func (o *GetLibraryItemsMetadata) GetEnableCreditsMarkerGeneration() *GetLibraryItemsEnableCreditsMarkerGeneration {
func (o *GetLibraryItemsMetadata) GetEnableCreditsMarkerGeneration() *EnableCreditsMarkerGeneration {
if o == nil {
return nil
}
return o.EnableCreditsMarkerGeneration
}
func (o *GetLibraryItemsMetadata) GetShowOrdering() *GetLibraryItemsShowOrdering {
func (o *GetLibraryItemsMetadata) GetShowOrdering() *ShowOrdering {
if o == nil {
return nil
}
@@ -2162,7 +2162,7 @@ func (o *GetLibraryItemsMetadata) GetLocation() []GetLibraryItemsLocation {
return o.Location
}
func (o *GetLibraryItemsMetadata) GetMediaGUID() []GetLibraryItemsMediaGUID {
func (o *GetLibraryItemsMetadata) GetMediaGUID() []MediaGUID {
if o == nil {
return nil
}
@@ -2176,7 +2176,7 @@ func (o *GetLibraryItemsMetadata) GetUltraBlurColors() *GetLibraryItemsUltraBlur
return o.UltraBlurColors
}
func (o *GetLibraryItemsMetadata) GetMetaDataRating() []GetLibraryItemsMetaDataRating {
func (o *GetLibraryItemsMetadata) GetMetaDataRating() []MetaDataRating {
if o == nil {
return nil
}

View File

@@ -140,96 +140,6 @@ func (o *GetMediaMetaDataRequest) GetAsyncRefreshLocalMediaAgent() *bool {
return o.AsyncRefreshLocalMediaAgent
}
type OptimizedForStreaming1 int
const (
OptimizedForStreaming1Zero OptimizedForStreaming1 = 0
OptimizedForStreaming1One OptimizedForStreaming1 = 1
)
func (e OptimizedForStreaming1) ToPointer() *OptimizedForStreaming1 {
return &e
}
func (e *OptimizedForStreaming1) UnmarshalJSON(data []byte) error {
var v int
if err := json.Unmarshal(data, &v); err != nil {
return err
}
switch v {
case 0:
fallthrough
case 1:
*e = OptimizedForStreaming1(v)
return nil
default:
return fmt.Errorf("invalid value for OptimizedForStreaming1: %v", v)
}
}
type GetMediaMetaDataOptimizedForStreamingType string
const (
GetMediaMetaDataOptimizedForStreamingTypeOptimizedForStreaming1 GetMediaMetaDataOptimizedForStreamingType = "optimizedForStreaming_1"
GetMediaMetaDataOptimizedForStreamingTypeBoolean GetMediaMetaDataOptimizedForStreamingType = "boolean"
)
// GetMediaMetaDataOptimizedForStreaming - Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true
type GetMediaMetaDataOptimizedForStreaming struct {
OptimizedForStreaming1 *OptimizedForStreaming1 `queryParam:"inline"`
Boolean *bool `queryParam:"inline"`
Type GetMediaMetaDataOptimizedForStreamingType
}
func CreateGetMediaMetaDataOptimizedForStreamingOptimizedForStreaming1(optimizedForStreaming1 OptimizedForStreaming1) GetMediaMetaDataOptimizedForStreaming {
typ := GetMediaMetaDataOptimizedForStreamingTypeOptimizedForStreaming1
return GetMediaMetaDataOptimizedForStreaming{
OptimizedForStreaming1: &optimizedForStreaming1,
Type: typ,
}
}
func CreateGetMediaMetaDataOptimizedForStreamingBoolean(boolean bool) GetMediaMetaDataOptimizedForStreaming {
typ := GetMediaMetaDataOptimizedForStreamingTypeBoolean
return GetMediaMetaDataOptimizedForStreaming{
Boolean: &boolean,
Type: typ,
}
}
func (u *GetMediaMetaDataOptimizedForStreaming) UnmarshalJSON(data []byte) error {
var optimizedForStreaming1 OptimizedForStreaming1 = OptimizedForStreaming1(0)
if err := utils.UnmarshalJSON(data, &optimizedForStreaming1, "", true, true); err == nil {
u.OptimizedForStreaming1 = &optimizedForStreaming1
u.Type = GetMediaMetaDataOptimizedForStreamingTypeOptimizedForStreaming1
return nil
}
var boolean bool = false
if err := utils.UnmarshalJSON(data, &boolean, "", true, true); err == nil {
u.Boolean = &boolean
u.Type = GetMediaMetaDataOptimizedForStreamingTypeBoolean
return nil
}
return fmt.Errorf("could not unmarshal `%s` into any supported union types for GetMediaMetaDataOptimizedForStreaming", string(data))
}
func (u GetMediaMetaDataOptimizedForStreaming) MarshalJSON() ([]byte, error) {
if u.OptimizedForStreaming1 != nil {
return utils.MarshalJSON(u.OptimizedForStreaming1, "", true)
}
if u.Boolean != nil {
return utils.MarshalJSON(u.Boolean, "", true)
}
return nil, errors.New("could not marshal union type GetMediaMetaDataOptimizedForStreaming: all fields are null")
}
type GetMediaMetaDataOptimizedForStreaming1 int
const (
@@ -256,27 +166,117 @@ func (e *GetMediaMetaDataOptimizedForStreaming1) UnmarshalJSON(data []byte) erro
}
}
type GetMediaMetaDataOptimizedForStreamingType string
const (
GetMediaMetaDataOptimizedForStreamingTypeGetMediaMetaDataOptimizedForStreaming1 GetMediaMetaDataOptimizedForStreamingType = "get-media-meta-data_optimizedForStreaming_1"
GetMediaMetaDataOptimizedForStreamingTypeBoolean GetMediaMetaDataOptimizedForStreamingType = "boolean"
)
// GetMediaMetaDataOptimizedForStreaming - Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true
type GetMediaMetaDataOptimizedForStreaming struct {
GetMediaMetaDataOptimizedForStreaming1 *GetMediaMetaDataOptimizedForStreaming1 `queryParam:"inline"`
Boolean *bool `queryParam:"inline"`
Type GetMediaMetaDataOptimizedForStreamingType
}
func CreateGetMediaMetaDataOptimizedForStreamingGetMediaMetaDataOptimizedForStreaming1(getMediaMetaDataOptimizedForStreaming1 GetMediaMetaDataOptimizedForStreaming1) GetMediaMetaDataOptimizedForStreaming {
typ := GetMediaMetaDataOptimizedForStreamingTypeGetMediaMetaDataOptimizedForStreaming1
return GetMediaMetaDataOptimizedForStreaming{
GetMediaMetaDataOptimizedForStreaming1: &getMediaMetaDataOptimizedForStreaming1,
Type: typ,
}
}
func CreateGetMediaMetaDataOptimizedForStreamingBoolean(boolean bool) GetMediaMetaDataOptimizedForStreaming {
typ := GetMediaMetaDataOptimizedForStreamingTypeBoolean
return GetMediaMetaDataOptimizedForStreaming{
Boolean: &boolean,
Type: typ,
}
}
func (u *GetMediaMetaDataOptimizedForStreaming) UnmarshalJSON(data []byte) error {
var getMediaMetaDataOptimizedForStreaming1 GetMediaMetaDataOptimizedForStreaming1 = GetMediaMetaDataOptimizedForStreaming1(0)
if err := utils.UnmarshalJSON(data, &getMediaMetaDataOptimizedForStreaming1, "", true, true); err == nil {
u.GetMediaMetaDataOptimizedForStreaming1 = &getMediaMetaDataOptimizedForStreaming1
u.Type = GetMediaMetaDataOptimizedForStreamingTypeGetMediaMetaDataOptimizedForStreaming1
return nil
}
var boolean bool = false
if err := utils.UnmarshalJSON(data, &boolean, "", true, true); err == nil {
u.Boolean = &boolean
u.Type = GetMediaMetaDataOptimizedForStreamingTypeBoolean
return nil
}
return fmt.Errorf("could not unmarshal `%s` into any supported union types for GetMediaMetaDataOptimizedForStreaming", string(data))
}
func (u GetMediaMetaDataOptimizedForStreaming) MarshalJSON() ([]byte, error) {
if u.GetMediaMetaDataOptimizedForStreaming1 != nil {
return utils.MarshalJSON(u.GetMediaMetaDataOptimizedForStreaming1, "", true)
}
if u.Boolean != nil {
return utils.MarshalJSON(u.Boolean, "", true)
}
return nil, errors.New("could not marshal union type GetMediaMetaDataOptimizedForStreaming: all fields are null")
}
type GetMediaMetaDataOptimizedForStreamingLibrary1 int
const (
GetMediaMetaDataOptimizedForStreamingLibrary1Zero GetMediaMetaDataOptimizedForStreamingLibrary1 = 0
GetMediaMetaDataOptimizedForStreamingLibrary1One GetMediaMetaDataOptimizedForStreamingLibrary1 = 1
)
func (e GetMediaMetaDataOptimizedForStreamingLibrary1) ToPointer() *GetMediaMetaDataOptimizedForStreamingLibrary1 {
return &e
}
func (e *GetMediaMetaDataOptimizedForStreamingLibrary1) UnmarshalJSON(data []byte) error {
var v int
if err := json.Unmarshal(data, &v); err != nil {
return err
}
switch v {
case 0:
fallthrough
case 1:
*e = GetMediaMetaDataOptimizedForStreamingLibrary1(v)
return nil
default:
return fmt.Errorf("invalid value for GetMediaMetaDataOptimizedForStreamingLibrary1: %v", v)
}
}
type GetMediaMetaDataLibraryOptimizedForStreamingType string
const (
GetMediaMetaDataLibraryOptimizedForStreamingTypeGetMediaMetaDataOptimizedForStreaming1 GetMediaMetaDataLibraryOptimizedForStreamingType = "get-media-meta-data_optimizedForStreaming_1"
GetMediaMetaDataLibraryOptimizedForStreamingTypeBoolean GetMediaMetaDataLibraryOptimizedForStreamingType = "boolean"
GetMediaMetaDataLibraryOptimizedForStreamingTypeGetMediaMetaDataOptimizedForStreamingLibrary1 GetMediaMetaDataLibraryOptimizedForStreamingType = "get-media-meta-data_optimizedForStreaming_Library_1"
GetMediaMetaDataLibraryOptimizedForStreamingTypeBoolean GetMediaMetaDataLibraryOptimizedForStreamingType = "boolean"
)
// GetMediaMetaDataLibraryOptimizedForStreaming - Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true
type GetMediaMetaDataLibraryOptimizedForStreaming struct {
GetMediaMetaDataOptimizedForStreaming1 *GetMediaMetaDataOptimizedForStreaming1 `queryParam:"inline"`
Boolean *bool `queryParam:"inline"`
GetMediaMetaDataOptimizedForStreamingLibrary1 *GetMediaMetaDataOptimizedForStreamingLibrary1 `queryParam:"inline"`
Boolean *bool `queryParam:"inline"`
Type GetMediaMetaDataLibraryOptimizedForStreamingType
}
func CreateGetMediaMetaDataLibraryOptimizedForStreamingGetMediaMetaDataOptimizedForStreaming1(getMediaMetaDataOptimizedForStreaming1 GetMediaMetaDataOptimizedForStreaming1) GetMediaMetaDataLibraryOptimizedForStreaming {
typ := GetMediaMetaDataLibraryOptimizedForStreamingTypeGetMediaMetaDataOptimizedForStreaming1
func CreateGetMediaMetaDataLibraryOptimizedForStreamingGetMediaMetaDataOptimizedForStreamingLibrary1(getMediaMetaDataOptimizedForStreamingLibrary1 GetMediaMetaDataOptimizedForStreamingLibrary1) GetMediaMetaDataLibraryOptimizedForStreaming {
typ := GetMediaMetaDataLibraryOptimizedForStreamingTypeGetMediaMetaDataOptimizedForStreamingLibrary1
return GetMediaMetaDataLibraryOptimizedForStreaming{
GetMediaMetaDataOptimizedForStreaming1: &getMediaMetaDataOptimizedForStreaming1,
Type: typ,
GetMediaMetaDataOptimizedForStreamingLibrary1: &getMediaMetaDataOptimizedForStreamingLibrary1,
Type: typ,
}
}
@@ -291,10 +291,10 @@ func CreateGetMediaMetaDataLibraryOptimizedForStreamingBoolean(boolean bool) Get
func (u *GetMediaMetaDataLibraryOptimizedForStreaming) UnmarshalJSON(data []byte) error {
var getMediaMetaDataOptimizedForStreaming1 GetMediaMetaDataOptimizedForStreaming1 = GetMediaMetaDataOptimizedForStreaming1(0)
if err := utils.UnmarshalJSON(data, &getMediaMetaDataOptimizedForStreaming1, "", true, true); err == nil {
u.GetMediaMetaDataOptimizedForStreaming1 = &getMediaMetaDataOptimizedForStreaming1
u.Type = GetMediaMetaDataLibraryOptimizedForStreamingTypeGetMediaMetaDataOptimizedForStreaming1
var getMediaMetaDataOptimizedForStreamingLibrary1 GetMediaMetaDataOptimizedForStreamingLibrary1 = GetMediaMetaDataOptimizedForStreamingLibrary1(0)
if err := utils.UnmarshalJSON(data, &getMediaMetaDataOptimizedForStreamingLibrary1, "", true, true); err == nil {
u.GetMediaMetaDataOptimizedForStreamingLibrary1 = &getMediaMetaDataOptimizedForStreamingLibrary1
u.Type = GetMediaMetaDataLibraryOptimizedForStreamingTypeGetMediaMetaDataOptimizedForStreamingLibrary1
return nil
}
@@ -309,8 +309,8 @@ func (u *GetMediaMetaDataLibraryOptimizedForStreaming) UnmarshalJSON(data []byte
}
func (u GetMediaMetaDataLibraryOptimizedForStreaming) MarshalJSON() ([]byte, error) {
if u.GetMediaMetaDataOptimizedForStreaming1 != nil {
return utils.MarshalJSON(u.GetMediaMetaDataOptimizedForStreaming1, "", true)
if u.GetMediaMetaDataOptimizedForStreamingLibrary1 != nil {
return utils.MarshalJSON(u.GetMediaMetaDataOptimizedForStreamingLibrary1, "", true)
}
if u.Boolean != nil {
@@ -361,11 +361,11 @@ type GetMediaMetaDataStream struct {
// Bitrate of the stream.
Bitrate *int `json:"bitrate,omitempty"`
// Language of the stream.
Language string `json:"language"`
Language *string `json:"language,omitempty"`
// Language tag (e.g., en).
LanguageTag string `json:"languageTag"`
LanguageTag *string `json:"languageTag,omitempty"`
// ISO language code.
LanguageCode string `json:"languageCode"`
LanguageCode *string `json:"languageCode,omitempty"`
// Indicates whether header compression is enabled.
HeaderCompression *bool `json:"headerCompression,omitempty"`
// Dolby Vision BL compatibility ID.
@@ -393,7 +393,8 @@ type GetMediaMetaDataStream struct {
// Coded video height.
CodedHeight *int `json:"codedHeight,omitempty"`
// Coded video width.
CodedWidth *int `json:"codedWidth,omitempty"`
CodedWidth *int `json:"codedWidth,omitempty"`
ClosedCaptions *bool `json:"closedCaptions,omitempty"`
// Color primaries used.
ColorPrimaries *string `json:"colorPrimaries,omitempty"`
// Color range (e.g., tv).
@@ -412,8 +413,9 @@ type GetMediaMetaDataStream struct {
Original *bool `json:"original,omitempty"`
HasScalingMatrix *bool `json:"hasScalingMatrix,omitempty"`
// Video profile.
Profile *string `json:"profile,omitempty"`
ScanType *string `json:"scanType,omitempty"`
Profile *string `json:"profile,omitempty"`
ScanType *string `json:"scanType,omitempty"`
EmbeddedInVideo *string `json:"embeddedInVideo,omitempty"`
// Number of reference frames.
RefFrames *int `json:"refFrames,omitempty"`
// Width of the video stream.
@@ -483,23 +485,23 @@ func (o *GetMediaMetaDataStream) GetBitrate() *int {
return o.Bitrate
}
func (o *GetMediaMetaDataStream) GetLanguage() string {
func (o *GetMediaMetaDataStream) GetLanguage() *string {
if o == nil {
return ""
return nil
}
return o.Language
}
func (o *GetMediaMetaDataStream) GetLanguageTag() string {
func (o *GetMediaMetaDataStream) GetLanguageTag() *string {
if o == nil {
return ""
return nil
}
return o.LanguageTag
}
func (o *GetMediaMetaDataStream) GetLanguageCode() string {
func (o *GetMediaMetaDataStream) GetLanguageCode() *string {
if o == nil {
return ""
return nil
}
return o.LanguageCode
}
@@ -602,6 +604,13 @@ func (o *GetMediaMetaDataStream) GetCodedWidth() *int {
return o.CodedWidth
}
func (o *GetMediaMetaDataStream) GetClosedCaptions() *bool {
if o == nil {
return nil
}
return o.ClosedCaptions
}
func (o *GetMediaMetaDataStream) GetColorPrimaries() *string {
if o == nil {
return nil
@@ -679,6 +688,13 @@ func (o *GetMediaMetaDataStream) GetScanType() *string {
return o.ScanType
}
func (o *GetMediaMetaDataStream) GetEmbeddedInVideo() *string {
if o == nil {
return nil
}
return o.EmbeddedInVideo
}
func (o *GetMediaMetaDataStream) GetRefFrames() *int {
if o == nil {
return nil
@@ -954,14 +970,14 @@ type GetMediaMetaDataMedia struct {
// Video profile (e.g., main 10).
VideoProfile *string `json:"videoProfile,omitempty"`
// Indicates whether voice activity is detected.
HasVoiceActivity bool `json:"hasVoiceActivity"`
HasVoiceActivity *bool `json:"hasVoiceActivity,omitempty"`
// The audio profile used for the media (e.g., DTS, Dolby Digital, etc.).
AudioProfile *string `json:"audioProfile,omitempty"`
// Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true
OptimizedForStreaming *GetMediaMetaDataOptimizedForStreaming `json:"optimizedForStreaming,omitempty"`
Has64bitOffsets *bool `json:"has64bitOffsets,omitempty"`
// An array of parts for this media item.
Part []GetMediaMetaDataPart `json:"Part"`
Part []GetMediaMetaDataPart `json:"Part,omitempty"`
}
func (o *GetMediaMetaDataMedia) GetID() int64 {
@@ -1062,9 +1078,9 @@ func (o *GetMediaMetaDataMedia) GetVideoProfile() *string {
return o.VideoProfile
}
func (o *GetMediaMetaDataMedia) GetHasVoiceActivity() bool {
func (o *GetMediaMetaDataMedia) GetHasVoiceActivity() *bool {
if o == nil {
return false
return nil
}
return o.HasVoiceActivity
}
@@ -1092,7 +1108,7 @@ func (o *GetMediaMetaDataMedia) GetHas64bitOffsets() *bool {
func (o *GetMediaMetaDataMedia) GetPart() []GetMediaMetaDataPart {
if o == nil {
return []GetMediaMetaDataPart{}
return nil
}
return o.Part
}
@@ -1439,7 +1455,7 @@ func (o *GetMediaMetaDataWriter) GetThumb() *string {
return o.Thumb
}
type Producer struct {
type GetMediaMetaDataProducer struct {
// The unique role identifier.
ID int64 `json:"id"`
// The filter string for the role.
@@ -1454,49 +1470,49 @@ type Producer struct {
Thumb *string `json:"thumb,omitempty"`
}
func (o *Producer) GetID() int64 {
func (o *GetMediaMetaDataProducer) GetID() int64 {
if o == nil {
return 0
}
return o.ID
}
func (o *Producer) GetFilter() string {
func (o *GetMediaMetaDataProducer) GetFilter() string {
if o == nil {
return ""
}
return o.Filter
}
func (o *Producer) GetTag() string {
func (o *GetMediaMetaDataProducer) GetTag() string {
if o == nil {
return ""
}
return o.Tag
}
func (o *Producer) GetTagKey() string {
func (o *GetMediaMetaDataProducer) GetTagKey() string {
if o == nil {
return ""
}
return o.TagKey
}
func (o *Producer) GetRole() *string {
func (o *GetMediaMetaDataProducer) GetRole() *string {
if o == nil {
return nil
}
return o.Role
}
func (o *Producer) GetThumb() *string {
func (o *GetMediaMetaDataProducer) GetThumb() *string {
if o == nil {
return nil
}
return o.Thumb
}
type Similar struct {
type GetMediaMetaDataSimilar struct {
// The unique similar item identifier.
ID int64 `json:"id"`
// The filter string for similar items.
@@ -1505,21 +1521,21 @@ type Similar struct {
Tag string `json:"tag"`
}
func (o *Similar) GetID() int64 {
func (o *GetMediaMetaDataSimilar) GetID() int64 {
if o == nil {
return 0
}
return o.ID
}
func (o *Similar) GetFilter() string {
func (o *GetMediaMetaDataSimilar) GetFilter() string {
if o == nil {
return ""
}
return o.Filter
}
func (o *Similar) GetTag() string {
func (o *GetMediaMetaDataSimilar) GetTag() string {
if o == nil {
return ""
}
@@ -1650,9 +1666,9 @@ type GetMediaMetaDataMetadata struct {
// An array of Writer roles.
Writer []GetMediaMetaDataWriter `json:"Writer,omitempty"`
// An array of Writer roles.
Producer []Producer `json:"Producer,omitempty"`
Producer []GetMediaMetaDataProducer `json:"Producer,omitempty"`
// An array of similar content objects.
Similar []Similar `json:"Similar,omitempty"`
Similar []GetMediaMetaDataSimilar `json:"Similar,omitempty"`
// An array of location objects.
Location []GetMediaMetaDataLocation `json:"Location,omitempty"`
}
@@ -2074,14 +2090,14 @@ func (o *GetMediaMetaDataMetadata) GetWriter() []GetMediaMetaDataWriter {
return o.Writer
}
func (o *GetMediaMetaDataMetadata) GetProducer() []Producer {
func (o *GetMediaMetaDataMetadata) GetProducer() []GetMediaMetaDataProducer {
if o == nil {
return nil
}
return o.Producer
}
func (o *GetMediaMetaDataMetadata) GetSimilar() []Similar {
func (o *GetMediaMetaDataMetadata) GetSimilar() []GetMediaMetaDataSimilar {
if o == nil {
return nil
}

View File

@@ -1,817 +0,0 @@
// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
package operations
import (
"github.com/LukeHagar/plexgo/internal/utils"
"net/http"
"time"
)
type GetOnDeckStream struct {
ID *float64 `json:"id,omitempty"`
StreamType *float64 `json:"streamType,omitempty"`
Default *bool `json:"default,omitempty"`
Codec *string `json:"codec,omitempty"`
Index *float64 `json:"index,omitempty"`
Bitrate *float64 `json:"bitrate,omitempty"`
Language *string `json:"language,omitempty"`
LanguageTag *string `json:"languageTag,omitempty"`
LanguageCode *string `json:"languageCode,omitempty"`
BitDepth *float64 `json:"bitDepth,omitempty"`
ChromaLocation *string `json:"chromaLocation,omitempty"`
ChromaSubsampling *string `json:"chromaSubsampling,omitempty"`
CodedHeight *float64 `json:"codedHeight,omitempty"`
CodedWidth *float64 `json:"codedWidth,omitempty"`
ColorRange *string `json:"colorRange,omitempty"`
FrameRate *float64 `json:"frameRate,omitempty"`
Height *float64 `json:"height,omitempty"`
Level *float64 `json:"level,omitempty"`
Profile *string `json:"profile,omitempty"`
RefFrames *float64 `json:"refFrames,omitempty"`
Width *float64 `json:"width,omitempty"`
DisplayTitle *string `json:"displayTitle,omitempty"`
ExtendedDisplayTitle *string `json:"extendedDisplayTitle,omitempty"`
}
func (o *GetOnDeckStream) GetID() *float64 {
if o == nil {
return nil
}
return o.ID
}
func (o *GetOnDeckStream) GetStreamType() *float64 {
if o == nil {
return nil
}
return o.StreamType
}
func (o *GetOnDeckStream) GetDefault() *bool {
if o == nil {
return nil
}
return o.Default
}
func (o *GetOnDeckStream) GetCodec() *string {
if o == nil {
return nil
}
return o.Codec
}
func (o *GetOnDeckStream) GetIndex() *float64 {
if o == nil {
return nil
}
return o.Index
}
func (o *GetOnDeckStream) GetBitrate() *float64 {
if o == nil {
return nil
}
return o.Bitrate
}
func (o *GetOnDeckStream) GetLanguage() *string {
if o == nil {
return nil
}
return o.Language
}
func (o *GetOnDeckStream) GetLanguageTag() *string {
if o == nil {
return nil
}
return o.LanguageTag
}
func (o *GetOnDeckStream) GetLanguageCode() *string {
if o == nil {
return nil
}
return o.LanguageCode
}
func (o *GetOnDeckStream) GetBitDepth() *float64 {
if o == nil {
return nil
}
return o.BitDepth
}
func (o *GetOnDeckStream) GetChromaLocation() *string {
if o == nil {
return nil
}
return o.ChromaLocation
}
func (o *GetOnDeckStream) GetChromaSubsampling() *string {
if o == nil {
return nil
}
return o.ChromaSubsampling
}
func (o *GetOnDeckStream) GetCodedHeight() *float64 {
if o == nil {
return nil
}
return o.CodedHeight
}
func (o *GetOnDeckStream) GetCodedWidth() *float64 {
if o == nil {
return nil
}
return o.CodedWidth
}
func (o *GetOnDeckStream) GetColorRange() *string {
if o == nil {
return nil
}
return o.ColorRange
}
func (o *GetOnDeckStream) GetFrameRate() *float64 {
if o == nil {
return nil
}
return o.FrameRate
}
func (o *GetOnDeckStream) GetHeight() *float64 {
if o == nil {
return nil
}
return o.Height
}
func (o *GetOnDeckStream) GetLevel() *float64 {
if o == nil {
return nil
}
return o.Level
}
func (o *GetOnDeckStream) GetProfile() *string {
if o == nil {
return nil
}
return o.Profile
}
func (o *GetOnDeckStream) GetRefFrames() *float64 {
if o == nil {
return nil
}
return o.RefFrames
}
func (o *GetOnDeckStream) GetWidth() *float64 {
if o == nil {
return nil
}
return o.Width
}
func (o *GetOnDeckStream) GetDisplayTitle() *string {
if o == nil {
return nil
}
return o.DisplayTitle
}
func (o *GetOnDeckStream) GetExtendedDisplayTitle() *string {
if o == nil {
return nil
}
return o.ExtendedDisplayTitle
}
type GetOnDeckPart struct {
ID *float64 `json:"id,omitempty"`
Key *string `json:"key,omitempty"`
Duration *float64 `json:"duration,omitempty"`
File *string `json:"file,omitempty"`
Size *float64 `json:"size,omitempty"`
AudioProfile *string `json:"audioProfile,omitempty"`
Container *string `json:"container,omitempty"`
VideoProfile *string `json:"videoProfile,omitempty"`
Stream []GetOnDeckStream `json:"Stream,omitempty"`
}
func (o *GetOnDeckPart) GetID() *float64 {
if o == nil {
return nil
}
return o.ID
}
func (o *GetOnDeckPart) GetKey() *string {
if o == nil {
return nil
}
return o.Key
}
func (o *GetOnDeckPart) GetDuration() *float64 {
if o == nil {
return nil
}
return o.Duration
}
func (o *GetOnDeckPart) GetFile() *string {
if o == nil {
return nil
}
return o.File
}
func (o *GetOnDeckPart) GetSize() *float64 {
if o == nil {
return nil
}
return o.Size
}
func (o *GetOnDeckPart) GetAudioProfile() *string {
if o == nil {
return nil
}
return o.AudioProfile
}
func (o *GetOnDeckPart) GetContainer() *string {
if o == nil {
return nil
}
return o.Container
}
func (o *GetOnDeckPart) GetVideoProfile() *string {
if o == nil {
return nil
}
return o.VideoProfile
}
func (o *GetOnDeckPart) GetStream() []GetOnDeckStream {
if o == nil {
return nil
}
return o.Stream
}
type GetOnDeckMedia struct {
ID *float64 `json:"id,omitempty"`
Duration *float64 `json:"duration,omitempty"`
Bitrate *float64 `json:"bitrate,omitempty"`
Width *float64 `json:"width,omitempty"`
Height *float64 `json:"height,omitempty"`
AspectRatio *float64 `json:"aspectRatio,omitempty"`
AudioChannels *float64 `json:"audioChannels,omitempty"`
AudioCodec *string `json:"audioCodec,omitempty"`
VideoCodec *string `json:"videoCodec,omitempty"`
VideoResolution *string `json:"videoResolution,omitempty"`
Container *string `json:"container,omitempty"`
VideoFrameRate *string `json:"videoFrameRate,omitempty"`
AudioProfile *string `json:"audioProfile,omitempty"`
VideoProfile *string `json:"videoProfile,omitempty"`
Part []GetOnDeckPart `json:"Part,omitempty"`
}
func (o *GetOnDeckMedia) GetID() *float64 {
if o == nil {
return nil
}
return o.ID
}
func (o *GetOnDeckMedia) GetDuration() *float64 {
if o == nil {
return nil
}
return o.Duration
}
func (o *GetOnDeckMedia) GetBitrate() *float64 {
if o == nil {
return nil
}
return o.Bitrate
}
func (o *GetOnDeckMedia) GetWidth() *float64 {
if o == nil {
return nil
}
return o.Width
}
func (o *GetOnDeckMedia) GetHeight() *float64 {
if o == nil {
return nil
}
return o.Height
}
func (o *GetOnDeckMedia) GetAspectRatio() *float64 {
if o == nil {
return nil
}
return o.AspectRatio
}
func (o *GetOnDeckMedia) GetAudioChannels() *float64 {
if o == nil {
return nil
}
return o.AudioChannels
}
func (o *GetOnDeckMedia) GetAudioCodec() *string {
if o == nil {
return nil
}
return o.AudioCodec
}
func (o *GetOnDeckMedia) GetVideoCodec() *string {
if o == nil {
return nil
}
return o.VideoCodec
}
func (o *GetOnDeckMedia) GetVideoResolution() *string {
if o == nil {
return nil
}
return o.VideoResolution
}
func (o *GetOnDeckMedia) GetContainer() *string {
if o == nil {
return nil
}
return o.Container
}
func (o *GetOnDeckMedia) GetVideoFrameRate() *string {
if o == nil {
return nil
}
return o.VideoFrameRate
}
func (o *GetOnDeckMedia) GetAudioProfile() *string {
if o == nil {
return nil
}
return o.AudioProfile
}
func (o *GetOnDeckMedia) GetVideoProfile() *string {
if o == nil {
return nil
}
return o.VideoProfile
}
func (o *GetOnDeckMedia) GetPart() []GetOnDeckPart {
if o == nil {
return nil
}
return o.Part
}
type GetOnDeckGuids struct {
ID *string `json:"id,omitempty"`
}
func (o *GetOnDeckGuids) GetID() *string {
if o == nil {
return nil
}
return o.ID
}
type GetOnDeckMetadata struct {
AllowSync *bool `json:"allowSync,omitempty"`
LibrarySectionID *float64 `json:"librarySectionID,omitempty"`
LibrarySectionTitle *string `json:"librarySectionTitle,omitempty"`
LibrarySectionUUID *string `json:"librarySectionUUID,omitempty"`
RatingKey *float64 `json:"ratingKey,omitempty"`
Key *string `json:"key,omitempty"`
ParentRatingKey *float64 `json:"parentRatingKey,omitempty"`
GrandparentRatingKey *float64 `json:"grandparentRatingKey,omitempty"`
GUID *string `json:"guid,omitempty"`
ParentGUID *string `json:"parentGuid,omitempty"`
GrandparentGUID *string `json:"grandparentGuid,omitempty"`
Type *string `json:"type,omitempty"`
Title *string `json:"title,omitempty"`
GrandparentKey *string `json:"grandparentKey,omitempty"`
ParentKey *string `json:"parentKey,omitempty"`
LibrarySectionKey *string `json:"librarySectionKey,omitempty"`
GrandparentTitle *string `json:"grandparentTitle,omitempty"`
ParentTitle *string `json:"parentTitle,omitempty"`
ContentRating *string `json:"contentRating,omitempty"`
Summary *string `json:"summary,omitempty"`
Index *float64 `json:"index,omitempty"`
ParentIndex *float64 `json:"parentIndex,omitempty"`
LastViewedAt *float64 `json:"lastViewedAt,omitempty"`
Year *float64 `json:"year,omitempty"`
Thumb *string `json:"thumb,omitempty"`
Art *string `json:"art,omitempty"`
ParentThumb *string `json:"parentThumb,omitempty"`
GrandparentThumb *string `json:"grandparentThumb,omitempty"`
GrandparentArt *string `json:"grandparentArt,omitempty"`
GrandparentTheme *string `json:"grandparentTheme,omitempty"`
Duration *float64 `json:"duration,omitempty"`
OriginallyAvailableAt *time.Time `json:"originallyAvailableAt,omitempty"`
AddedAt *float64 `json:"addedAt,omitempty"`
UpdatedAt *float64 `json:"updatedAt,omitempty"`
Media []GetOnDeckMedia `json:"Media,omitempty"`
Guids []GetOnDeckGuids `json:"Guid,omitempty"`
}
func (g GetOnDeckMetadata) MarshalJSON() ([]byte, error) {
return utils.MarshalJSON(g, "", false)
}
func (g *GetOnDeckMetadata) UnmarshalJSON(data []byte) error {
if err := utils.UnmarshalJSON(data, &g, "", false, false); err != nil {
return err
}
return nil
}
func (o *GetOnDeckMetadata) GetAllowSync() *bool {
if o == nil {
return nil
}
return o.AllowSync
}
func (o *GetOnDeckMetadata) GetLibrarySectionID() *float64 {
if o == nil {
return nil
}
return o.LibrarySectionID
}
func (o *GetOnDeckMetadata) GetLibrarySectionTitle() *string {
if o == nil {
return nil
}
return o.LibrarySectionTitle
}
func (o *GetOnDeckMetadata) GetLibrarySectionUUID() *string {
if o == nil {
return nil
}
return o.LibrarySectionUUID
}
func (o *GetOnDeckMetadata) GetRatingKey() *float64 {
if o == nil {
return nil
}
return o.RatingKey
}
func (o *GetOnDeckMetadata) GetKey() *string {
if o == nil {
return nil
}
return o.Key
}
func (o *GetOnDeckMetadata) GetParentRatingKey() *float64 {
if o == nil {
return nil
}
return o.ParentRatingKey
}
func (o *GetOnDeckMetadata) GetGrandparentRatingKey() *float64 {
if o == nil {
return nil
}
return o.GrandparentRatingKey
}
func (o *GetOnDeckMetadata) GetGUID() *string {
if o == nil {
return nil
}
return o.GUID
}
func (o *GetOnDeckMetadata) GetParentGUID() *string {
if o == nil {
return nil
}
return o.ParentGUID
}
func (o *GetOnDeckMetadata) GetGrandparentGUID() *string {
if o == nil {
return nil
}
return o.GrandparentGUID
}
func (o *GetOnDeckMetadata) GetType() *string {
if o == nil {
return nil
}
return o.Type
}
func (o *GetOnDeckMetadata) GetTitle() *string {
if o == nil {
return nil
}
return o.Title
}
func (o *GetOnDeckMetadata) GetGrandparentKey() *string {
if o == nil {
return nil
}
return o.GrandparentKey
}
func (o *GetOnDeckMetadata) GetParentKey() *string {
if o == nil {
return nil
}
return o.ParentKey
}
func (o *GetOnDeckMetadata) GetLibrarySectionKey() *string {
if o == nil {
return nil
}
return o.LibrarySectionKey
}
func (o *GetOnDeckMetadata) GetGrandparentTitle() *string {
if o == nil {
return nil
}
return o.GrandparentTitle
}
func (o *GetOnDeckMetadata) GetParentTitle() *string {
if o == nil {
return nil
}
return o.ParentTitle
}
func (o *GetOnDeckMetadata) GetContentRating() *string {
if o == nil {
return nil
}
return o.ContentRating
}
func (o *GetOnDeckMetadata) GetSummary() *string {
if o == nil {
return nil
}
return o.Summary
}
func (o *GetOnDeckMetadata) GetIndex() *float64 {
if o == nil {
return nil
}
return o.Index
}
func (o *GetOnDeckMetadata) GetParentIndex() *float64 {
if o == nil {
return nil
}
return o.ParentIndex
}
func (o *GetOnDeckMetadata) GetLastViewedAt() *float64 {
if o == nil {
return nil
}
return o.LastViewedAt
}
func (o *GetOnDeckMetadata) GetYear() *float64 {
if o == nil {
return nil
}
return o.Year
}
func (o *GetOnDeckMetadata) GetThumb() *string {
if o == nil {
return nil
}
return o.Thumb
}
func (o *GetOnDeckMetadata) GetArt() *string {
if o == nil {
return nil
}
return o.Art
}
func (o *GetOnDeckMetadata) GetParentThumb() *string {
if o == nil {
return nil
}
return o.ParentThumb
}
func (o *GetOnDeckMetadata) GetGrandparentThumb() *string {
if o == nil {
return nil
}
return o.GrandparentThumb
}
func (o *GetOnDeckMetadata) GetGrandparentArt() *string {
if o == nil {
return nil
}
return o.GrandparentArt
}
func (o *GetOnDeckMetadata) GetGrandparentTheme() *string {
if o == nil {
return nil
}
return o.GrandparentTheme
}
func (o *GetOnDeckMetadata) GetDuration() *float64 {
if o == nil {
return nil
}
return o.Duration
}
func (o *GetOnDeckMetadata) GetOriginallyAvailableAt() *time.Time {
if o == nil {
return nil
}
return o.OriginallyAvailableAt
}
func (o *GetOnDeckMetadata) GetAddedAt() *float64 {
if o == nil {
return nil
}
return o.AddedAt
}
func (o *GetOnDeckMetadata) GetUpdatedAt() *float64 {
if o == nil {
return nil
}
return o.UpdatedAt
}
func (o *GetOnDeckMetadata) GetMedia() []GetOnDeckMedia {
if o == nil {
return nil
}
return o.Media
}
func (o *GetOnDeckMetadata) GetGuids() []GetOnDeckGuids {
if o == nil {
return nil
}
return o.Guids
}
type GetOnDeckMediaContainer struct {
Size *float64 `json:"size,omitempty"`
AllowSync *bool `json:"allowSync,omitempty"`
Identifier *string `json:"identifier,omitempty"`
MediaTagPrefix *string `json:"mediaTagPrefix,omitempty"`
MediaTagVersion *float64 `json:"mediaTagVersion,omitempty"`
MixedParents *bool `json:"mixedParents,omitempty"`
Metadata []GetOnDeckMetadata `json:"Metadata,omitempty"`
}
func (o *GetOnDeckMediaContainer) GetSize() *float64 {
if o == nil {
return nil
}
return o.Size
}
func (o *GetOnDeckMediaContainer) GetAllowSync() *bool {
if o == nil {
return nil
}
return o.AllowSync
}
func (o *GetOnDeckMediaContainer) GetIdentifier() *string {
if o == nil {
return nil
}
return o.Identifier
}
func (o *GetOnDeckMediaContainer) GetMediaTagPrefix() *string {
if o == nil {
return nil
}
return o.MediaTagPrefix
}
func (o *GetOnDeckMediaContainer) GetMediaTagVersion() *float64 {
if o == nil {
return nil
}
return o.MediaTagVersion
}
func (o *GetOnDeckMediaContainer) GetMixedParents() *bool {
if o == nil {
return nil
}
return o.MixedParents
}
func (o *GetOnDeckMediaContainer) GetMetadata() []GetOnDeckMetadata {
if o == nil {
return nil
}
return o.Metadata
}
// GetOnDeckResponseBody - The on Deck content
type GetOnDeckResponseBody struct {
MediaContainer *GetOnDeckMediaContainer `json:"MediaContainer,omitempty"`
}
func (o *GetOnDeckResponseBody) GetMediaContainer() *GetOnDeckMediaContainer {
if o == nil {
return nil
}
return o.MediaContainer
}
type GetOnDeckResponse struct {
// HTTP response content type for this operation
ContentType string
// HTTP response status code for this operation
StatusCode int
// Raw HTTP response; suitable for custom response parsing
RawResponse *http.Response
// The on Deck content
Object *GetOnDeckResponseBody
}
func (o *GetOnDeckResponse) GetContentType() string {
if o == nil {
return ""
}
return o.ContentType
}
func (o *GetOnDeckResponse) GetStatusCode() int {
if o == nil {
return 0
}
return o.StatusCode
}
func (o *GetOnDeckResponse) GetRawResponse() *http.Response {
if o == nil {
return nil
}
return o.RawResponse
}
func (o *GetOnDeckResponse) GetObject() *GetOnDeckResponseBody {
if o == nil {
return nil
}
return o.Object
}

File diff suppressed because it is too large Load Diff

View File

@@ -562,7 +562,7 @@ type GetTokenDetailsUserPlexAccount struct {
Subscription Subscription `json:"subscription"`
// Description of the Plex Pass subscription
SubscriptionDescription *string `json:"subscriptionDescription"`
Subscriptions []GetTokenDetailsSubscription `json:"subscriptions"`
Subscriptions []GetTokenDetailsSubscription `json:"subscriptions,omitempty"`
// URL of the account thumbnail
Thumb string `json:"thumb"`
// The title of the account (username or friendly name)
@@ -827,7 +827,7 @@ func (o *GetTokenDetailsUserPlexAccount) GetSubscriptionDescription() *string {
func (o *GetTokenDetailsUserPlexAccount) GetSubscriptions() []GetTokenDetailsSubscription {
if o == nil {
return []GetTokenDetailsSubscription{}
return nil
}
return o.Subscriptions
}

View File

@@ -848,7 +848,7 @@ type PostUsersSignInDataUserPlexAccount struct {
Subscription PostUsersSignInDataSubscription `json:"subscription"`
// Description of the Plex Pass subscription
SubscriptionDescription *string `json:"subscriptionDescription"`
Subscriptions []PostUsersSignInDataAuthenticationSubscription `json:"subscriptions"`
Subscriptions []PostUsersSignInDataAuthenticationSubscription `json:"subscriptions,omitempty"`
// URL of the account thumbnail
Thumb string `json:"thumb"`
// The title of the account (username or friendly name)
@@ -1115,7 +1115,7 @@ func (o *PostUsersSignInDataUserPlexAccount) GetSubscriptionDescription() *strin
func (o *PostUsersSignInDataUserPlexAccount) GetSubscriptions() []PostUsersSignInDataAuthenticationSubscription {
if o == nil {
return []PostUsersSignInDataAuthenticationSubscription{}
return nil
}
return o.Subscriptions
}

View File

@@ -1,90 +0,0 @@
// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
package sdkerrors
import (
"encoding/json"
"net/http"
)
type GetOnDeckLibraryErrors struct {
Code *int `json:"code,omitempty"`
Message *string `json:"message,omitempty"`
Status *int `json:"status,omitempty"`
}
func (o *GetOnDeckLibraryErrors) GetCode() *int {
if o == nil {
return nil
}
return o.Code
}
func (o *GetOnDeckLibraryErrors) GetMessage() *string {
if o == nil {
return nil
}
return o.Message
}
func (o *GetOnDeckLibraryErrors) GetStatus() *int {
if o == nil {
return nil
}
return o.Status
}
// GetOnDeckUnauthorized - Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
type GetOnDeckUnauthorized struct {
Errors []GetOnDeckLibraryErrors `json:"errors,omitempty"`
// Raw HTTP response; suitable for custom response parsing
RawResponse *http.Response `json:"-"`
}
var _ error = &GetOnDeckUnauthorized{}
func (e *GetOnDeckUnauthorized) Error() string {
data, _ := json.Marshal(e)
return string(data)
}
type GetOnDeckErrors struct {
Code *int `json:"code,omitempty"`
Message *string `json:"message,omitempty"`
Status *int `json:"status,omitempty"`
}
func (o *GetOnDeckErrors) GetCode() *int {
if o == nil {
return nil
}
return o.Code
}
func (o *GetOnDeckErrors) GetMessage() *string {
if o == nil {
return nil
}
return o.Message
}
func (o *GetOnDeckErrors) GetStatus() *int {
if o == nil {
return nil
}
return o.Status
}
// GetOnDeckBadRequest - Bad Request - A parameter was not specified, or was specified incorrectly.
type GetOnDeckBadRequest struct {
Errors []GetOnDeckErrors `json:"errors,omitempty"`
// Raw HTTP response; suitable for custom response parsing
RawResponse *http.Response `json:"-"`
}
var _ error = &GetOnDeckBadRequest{}
func (e *GetOnDeckBadRequest) Error() string {
data, _ := json.Marshal(e)
return string(data)
}

View File

@@ -34,13 +34,6 @@ func newPlaylists(sdkConfig sdkConfiguration) *Playlists {
// - `uri` - The content URI for what we're playing (e.g. `server://1234/com.plexapp.plugins.library/library/metadata/1`).
// - `playQueueID` - To create a playlist from an existing play queue.
func (s *Playlists) CreatePlaylist(ctx context.Context, request operations.CreatePlaylistRequest, opts ...operations.Option) (*operations.CreatePlaylistResponse, error) {
hookCtx := hooks.HookContext{
Context: ctx,
OperationID: "createPlaylist",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
o := operations.Options{}
supportedOptions := []string{
operations.SupportedOptionRetries,
@@ -64,6 +57,14 @@ func (s *Playlists) CreatePlaylist(ctx context.Context, request operations.Creat
return nil, fmt.Errorf("error generating URL: %w", err)
}
hookCtx := hooks.HookContext{
BaseURL: baseURL,
Context: ctx,
OperationID: "createPlaylist",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
timeout := o.Timeout
if timeout == nil {
timeout = s.sdkConfiguration.Timeout
@@ -282,13 +283,6 @@ func (s *Playlists) CreatePlaylist(ctx context.Context, request operations.Creat
// GetPlaylists - Get All Playlists
// Get All Playlists given the specified filters.
func (s *Playlists) GetPlaylists(ctx context.Context, playlistType *operations.PlaylistType, smart *operations.QueryParamSmart, opts ...operations.Option) (*operations.GetPlaylistsResponse, error) {
hookCtx := hooks.HookContext{
Context: ctx,
OperationID: "getPlaylists",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
request := operations.GetPlaylistsRequest{
PlaylistType: playlistType,
Smart: smart,
@@ -317,6 +311,14 @@ func (s *Playlists) GetPlaylists(ctx context.Context, playlistType *operations.P
return nil, fmt.Errorf("error generating URL: %w", err)
}
hookCtx := hooks.HookContext{
BaseURL: baseURL,
Context: ctx,
OperationID: "getPlaylists",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
timeout := o.Timeout
if timeout == nil {
timeout = s.sdkConfiguration.Timeout
@@ -536,13 +538,6 @@ func (s *Playlists) GetPlaylists(ctx context.Context, playlistType *operations.P
// Gets detailed metadata for a playlist. A playlist for many purposes (rating, editing metadata, tagging), can be treated like a regular metadata item:
// Smart playlist details contain the `content` attribute. This is the content URI for the generator. This can then be parsed by a client to provide smart playlist editing.
func (s *Playlists) GetPlaylist(ctx context.Context, playlistID float64, opts ...operations.Option) (*operations.GetPlaylistResponse, error) {
hookCtx := hooks.HookContext{
Context: ctx,
OperationID: "getPlaylist",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
request := operations.GetPlaylistRequest{
PlaylistID: playlistID,
}
@@ -570,6 +565,14 @@ func (s *Playlists) GetPlaylist(ctx context.Context, playlistID float64, opts ..
return nil, fmt.Errorf("error generating URL: %w", err)
}
hookCtx := hooks.HookContext{
BaseURL: baseURL,
Context: ctx,
OperationID: "getPlaylist",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
timeout := o.Timeout
if timeout == nil {
timeout = s.sdkConfiguration.Timeout
@@ -784,13 +787,6 @@ func (s *Playlists) GetPlaylist(ctx context.Context, playlistID float64, opts ..
// DeletePlaylist - Deletes a Playlist
// This endpoint will delete a playlist
func (s *Playlists) DeletePlaylist(ctx context.Context, playlistID float64, opts ...operations.Option) (*operations.DeletePlaylistResponse, error) {
hookCtx := hooks.HookContext{
Context: ctx,
OperationID: "deletePlaylist",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
request := operations.DeletePlaylistRequest{
PlaylistID: playlistID,
}
@@ -818,6 +814,14 @@ func (s *Playlists) DeletePlaylist(ctx context.Context, playlistID float64, opts
return nil, fmt.Errorf("error generating URL: %w", err)
}
hookCtx := hooks.HookContext{
BaseURL: baseURL,
Context: ctx,
OperationID: "deletePlaylist",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
timeout := o.Timeout
if timeout == nil {
timeout = s.sdkConfiguration.Timeout
@@ -1012,13 +1016,6 @@ func (s *Playlists) DeletePlaylist(ctx context.Context, playlistID float64, opts
// UpdatePlaylist - Update a Playlist
// From PMS version 1.9.1 clients can also edit playlist metadata using this endpoint as they would via `PUT /library/metadata/{playlistID}`
func (s *Playlists) UpdatePlaylist(ctx context.Context, playlistID float64, title *string, summary *string, opts ...operations.Option) (*operations.UpdatePlaylistResponse, error) {
hookCtx := hooks.HookContext{
Context: ctx,
OperationID: "updatePlaylist",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
request := operations.UpdatePlaylistRequest{
PlaylistID: playlistID,
Title: title,
@@ -1048,6 +1045,14 @@ func (s *Playlists) UpdatePlaylist(ctx context.Context, playlistID float64, titl
return nil, fmt.Errorf("error generating URL: %w", err)
}
hookCtx := hooks.HookContext{
BaseURL: baseURL,
Context: ctx,
OperationID: "updatePlaylist",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
timeout := o.Timeout
if timeout == nil {
timeout = s.sdkConfiguration.Timeout
@@ -1249,13 +1254,6 @@ func (s *Playlists) UpdatePlaylist(ctx context.Context, playlistID float64, titl
// For example, you could use this to display a list of recently added albums vis a smart playlist.
// Note that for dumb playlists, items have a `playlistItemID` attribute which is used for deleting or moving items.
func (s *Playlists) GetPlaylistContents(ctx context.Context, playlistID float64, type_ operations.GetPlaylistContentsQueryParamType, opts ...operations.Option) (*operations.GetPlaylistContentsResponse, error) {
hookCtx := hooks.HookContext{
Context: ctx,
OperationID: "getPlaylistContents",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
request := operations.GetPlaylistContentsRequest{
PlaylistID: playlistID,
Type: type_,
@@ -1284,6 +1282,14 @@ func (s *Playlists) GetPlaylistContents(ctx context.Context, playlistID float64,
return nil, fmt.Errorf("error generating URL: %w", err)
}
hookCtx := hooks.HookContext{
BaseURL: baseURL,
Context: ctx,
OperationID: "getPlaylistContents",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
timeout := o.Timeout
if timeout == nil {
timeout = s.sdkConfiguration.Timeout
@@ -1502,13 +1508,6 @@ func (s *Playlists) GetPlaylistContents(ctx context.Context, playlistID float64,
// ClearPlaylistContents - Delete Playlist Contents
// Clears a playlist, only works with dumb playlists. Returns the playlist.
func (s *Playlists) ClearPlaylistContents(ctx context.Context, playlistID float64, opts ...operations.Option) (*operations.ClearPlaylistContentsResponse, error) {
hookCtx := hooks.HookContext{
Context: ctx,
OperationID: "clearPlaylistContents",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
request := operations.ClearPlaylistContentsRequest{
PlaylistID: playlistID,
}
@@ -1536,6 +1535,14 @@ func (s *Playlists) ClearPlaylistContents(ctx context.Context, playlistID float6
return nil, fmt.Errorf("error generating URL: %w", err)
}
hookCtx := hooks.HookContext{
BaseURL: baseURL,
Context: ctx,
OperationID: "clearPlaylistContents",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
timeout := o.Timeout
if timeout == nil {
timeout = s.sdkConfiguration.Timeout
@@ -1731,13 +1738,6 @@ func (s *Playlists) ClearPlaylistContents(ctx context.Context, playlistID float6
// Adds a generator to a playlist, same parameters as the POST to create. With a dumb playlist, this adds the specified items to the playlist.
// With a smart playlist, passing a new `uri` parameter replaces the rules for the playlist. Returns the playlist.
func (s *Playlists) AddPlaylistContents(ctx context.Context, playlistID float64, uri string, playQueueID *float64, opts ...operations.Option) (*operations.AddPlaylistContentsResponse, error) {
hookCtx := hooks.HookContext{
Context: ctx,
OperationID: "addPlaylistContents",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
request := operations.AddPlaylistContentsRequest{
PlaylistID: playlistID,
URI: uri,
@@ -1767,6 +1767,14 @@ func (s *Playlists) AddPlaylistContents(ctx context.Context, playlistID float64,
return nil, fmt.Errorf("error generating URL: %w", err)
}
hookCtx := hooks.HookContext{
BaseURL: baseURL,
Context: ctx,
OperationID: "addPlaylistContents",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
timeout := o.Timeout
if timeout == nil {
timeout = s.sdkConfiguration.Timeout
@@ -1985,13 +1993,6 @@ func (s *Playlists) AddPlaylistContents(ctx context.Context, playlistID float64,
// UploadPlaylist - Upload Playlist
// Imports m3u playlists by passing a path on the server to scan for m3u-formatted playlist files, or a path to a single playlist file.
func (s *Playlists) UploadPlaylist(ctx context.Context, path string, force operations.QueryParamForce, sectionID int64, opts ...operations.Option) (*operations.UploadPlaylistResponse, error) {
hookCtx := hooks.HookContext{
Context: ctx,
OperationID: "uploadPlaylist",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
request := operations.UploadPlaylistRequest{
Path: path,
Force: force,
@@ -2021,6 +2022,14 @@ func (s *Playlists) UploadPlaylist(ctx context.Context, path string, force opera
return nil, fmt.Errorf("error generating URL: %w", err)
}
hookCtx := hooks.HookContext{
BaseURL: baseURL,
Context: ctx,
OperationID: "uploadPlaylist",
OAuth2Scopes: []string{},
SecuritySource: s.sdkConfiguration.Security,
}
timeout := o.Timeout
if timeout == nil {
timeout = s.sdkConfiguration.Timeout

Some files were not shown because too many files have changed in this diff Show More