diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock
index 1733a9f..b8faa33 100755
--- a/.speakeasy/gen.lock
+++ b/.speakeasy/gen.lock
@@ -1,12 +1,12 @@
lockVersion: 2.0.0
id: dfa99515-01c0-42eb-9be5-ee212fd03eb3
management:
- docChecksum: fa4c9c5c23680ad02fdbe831ad9d2403
+ docChecksum: 89dadbc8c2d01913eaf905dadd40f814
docVersion: 0.0.3
speakeasyVersion: 1.535.1
generationVersion: 2.585.2
- releaseVersion: 0.20.3
- configChecksum: 24412187ed9107bf91df448fcc01cf85
+ releaseVersion: 0.21.0
+ configChecksum: 71b1c5b2bb25150bc46d8b32018997bc
repoURL: https://github.com/LukeHagar/plexgo.git
repoSubDirectory: .
installationURL: https://github.com/LukeHagar/plexgo
@@ -31,6 +31,7 @@ features:
methodServerURLs: 2.82.1
nameOverrides: 2.81.2
nullables: 0.1.1
+ openEnums: 0.1.0
responseFormat: 0.1.2
retries: 2.83.2
sdkHooks: 0.1.0
diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml
index 65efa9e..c5b6423 100644
--- a/.speakeasy/gen.yaml
+++ b/.speakeasy/gen.yaml
@@ -15,7 +15,7 @@ generation:
oAuth2ClientCredentialsEnabled: true
oAuth2PasswordEnabled: false
go:
- version: 0.20.3
+ version: 0.21.0
additionalDependencies: {}
allowUnknownFieldsInWeakUnions: false
clientServerStatusCodesAsErrors: true
diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock
index 30d7c71..c445b13 100644
--- a/.speakeasy/workflow.lock
+++ b/.speakeasy/workflow.lock
@@ -9,19 +9,19 @@ sources:
- main
plexapi:
sourceNamespace: plexapi
- sourceRevisionDigest: sha256:db75a06885b897418dcb580679b5f744348573ad317155172346d32442420e5e
- sourceBlobDigest: sha256:ac0a3c3a6df002378b3522325c2330ba4309fbbbfa503a04b8267398f20033f5
+ sourceRevisionDigest: sha256:b2f9599237ceb13cf8f9c1693e38b290177b65fb389cebf0c3c60b8ef4778615
+ sourceBlobDigest: sha256:f8df9ef88ada992cd981d601e6c0b45cc82db76aba3d915c2f9d08f90c81ced9
tags:
- latest
- - speakeasy-sdk-regen-1745017204
+ - speakeasy-sdk-regen-1745082762
targets:
plexgo:
source: plexapi
sourceNamespace: plexapi
- sourceRevisionDigest: sha256:db75a06885b897418dcb580679b5f744348573ad317155172346d32442420e5e
- sourceBlobDigest: sha256:ac0a3c3a6df002378b3522325c2330ba4309fbbbfa503a04b8267398f20033f5
+ sourceRevisionDigest: sha256:b2f9599237ceb13cf8f9c1693e38b290177b65fb389cebf0c3c60b8ef4778615
+ sourceBlobDigest: sha256:f8df9ef88ada992cd981d601e6c0b45cc82db76aba3d915c2f9d08f90c81ced9
codeSamplesNamespace: code-samples-go-plexgo
- codeSamplesRevisionDigest: sha256:2a9a78c8d0219b521cdda4244ed233923628dd2048900f006c597925569882fe
+ codeSamplesRevisionDigest: sha256:2d25718f4996da172444f082138e8a821c79218d583115151e7d1ebe953e7def
workflow:
workflowVersion: 1.0.0
speakeasyVersion: latest
diff --git a/RELEASES.md b/RELEASES.md
index 258c3ce..33cc704 100644
--- a/RELEASES.md
+++ b/RELEASES.md
@@ -1122,4 +1122,14 @@ Based on:
### Generated
- [go v0.20.3] .
### Releases
-- [Go v0.20.3] https://github.com/LukeHagar/plexgo/releases/tag/v0.20.3 - .
\ No newline at end of file
+- [Go v0.20.3] https://github.com/LukeHagar/plexgo/releases/tag/v0.20.3 - .
+
+## 2025-04-19 17:12:25
+### Changes
+Based on:
+- OpenAPI Doc
+- Speakeasy CLI 1.535.1 (2.585.2) https://github.com/speakeasy-api/speakeasy
+### Generated
+- [go v0.21.0] .
+### Releases
+- [Go v0.21.0] https://github.com/LukeHagar/plexgo/releases/tag/v0.21.0 - .
\ No newline at end of file
diff --git a/docs/models/operations/getlibrarydetailsrequest.md b/docs/models/operations/getlibrarydetailsrequest.md
index c6edea2..c04a4ce 100644
--- a/docs/models/operations/getlibrarydetailsrequest.md
+++ b/docs/models/operations/getlibrarydetailsrequest.md
@@ -3,7 +3,7 @@
## Fields
-| Field | Type | Required | Description | Example |
-| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| `IncludeDetails` | [*operations.IncludeDetails](../../models/operations/includedetails.md) | :heavy_minus_sign: | Whether or not to include details for a section (types, filters, and sorts).
Only exists for backwards compatibility, media providers other than the server libraries have it on always.
| |
-| `SectionKey` | *int* | :heavy_check_mark: | The unique key of the Plex library.
Note: This is unique in the context of the Plex server.
| 9518 |
\ No newline at end of file
+| Field | Type | Required | Description | Example |
+| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `IncludeDetails` | [*operations.IncludeDetails](../../models/operations/includedetails.md) | :heavy_minus_sign: | Whether or not to include details for a section (types, filters, and sorts).
Only exists for backwards compatibility, media providers other than the server libraries have it on always.
| |
+| `SectionKey` | *int* | :heavy_check_mark: | The unique key of the Plex library.
Note: This is unique in the context of the Plex server.
| 9518 |
\ No newline at end of file
diff --git a/docs/models/operations/includedetails.md b/docs/models/operations/includedetails.md
index e870da0..8552d99 100644
--- a/docs/models/operations/includedetails.md
+++ b/docs/models/operations/includedetails.md
@@ -1,6 +1,6 @@
# IncludeDetails
-Whether or not to include details for a section (types, filters, and sorts).
+Whether or not to include details for a section (types, filters, and sorts).
Only exists for backwards compatibility, media providers other than the server libraries have it on always.
diff --git a/docs/models/operations/level.md b/docs/models/operations/level.md
index a42ea75..5a34011 100644
--- a/docs/models/operations/level.md
+++ b/docs/models/operations/level.md
@@ -1,10 +1,10 @@
# Level
-An integer log level to write to the PMS log with.
-0: Error
-1: Warning
-2: Info
-3: Debug
+An integer log level to write to the PMS log with.
+0: Error
+1: Warning
+2: Info
+3: Debug
4: Verbose
diff --git a/docs/models/operations/loglinerequest.md b/docs/models/operations/loglinerequest.md
index 23c41e5..567bf1e 100644
--- a/docs/models/operations/loglinerequest.md
+++ b/docs/models/operations/loglinerequest.md
@@ -3,8 +3,8 @@
## Fields
-| Field | Type | Required | Description | Example |
-| ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- |
-| `Level` | [operations.Level](../../models/operations/level.md) | :heavy_check_mark: | An integer log level to write to the PMS log with.
0: Error
1: Warning
2: Info
3: Debug
4: Verbose
| |
-| `Message` | *string* | :heavy_check_mark: | The text of the message to write to the log. | Test log message |
-| `Source` | *string* | :heavy_check_mark: | a string indicating the source of the message. | Postman |
\ No newline at end of file
+| Field | Type | Required | Description | Example |
+| --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- |
+| `Level` | [operations.Level](../../models/operations/level.md) | :heavy_check_mark: | An integer log level to write to the PMS log with.
0: Error
1: Warning
2: Info
3: Debug
4: Verbose
| |
+| `Message` | *string* | :heavy_check_mark: | The text of the message to write to the log. | Test log message |
+| `Source` | *string* | :heavy_check_mark: | a string indicating the source of the message. | Postman |
\ No newline at end of file
diff --git a/docs/models/operations/queryparamforce.md b/docs/models/operations/queryparamforce.md
index 4128116..e6dcec5 100644
--- a/docs/models/operations/queryparamforce.md
+++ b/docs/models/operations/queryparamforce.md
@@ -1,8 +1,8 @@
# QueryParamForce
-Force overwriting of duplicate playlists.
-By default, a playlist file uploaded with the same path will overwrite the existing playlist.
-The `force` argument is used to disable overwriting.
+Force overwriting of duplicate playlists.
+By default, a playlist file uploaded with the same path will overwrite the existing playlist.
+The `force` argument is used to disable overwriting.
If the `force` argument is set to 0, a new playlist will be created suffixed with the date and time that the duplicate was uploaded.
diff --git a/docs/models/operations/uploadplaylistrequest.md b/docs/models/operations/uploadplaylistrequest.md
index a225783..93bd99b 100644
--- a/docs/models/operations/uploadplaylistrequest.md
+++ b/docs/models/operations/uploadplaylistrequest.md
@@ -3,8 +3,8 @@
## Fields
-| Field | Type | Required | Description | Example |
-| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `Path` | *string* | :heavy_check_mark: | absolute path to a directory on the server where m3u files are stored, or the absolute path to a playlist file on the server.
If the `path` argument is a directory, that path will be scanned for playlist files to be processed.
Each file in that directory creates a separate playlist, with a name based on the filename of the file that created it.
The GUID of each playlist is based on the filename.
If the `path` argument is a file, that file will be used to create a new playlist, with the name based on the filename of the file that created it.
The GUID of each playlist is based on the filename.
| /home/barkley/playlist.m3u |
-| `Force` | [operations.QueryParamForce](../../models/operations/queryparamforce.md) | :heavy_check_mark: | Force overwriting of duplicate playlists.
By default, a playlist file uploaded with the same path will overwrite the existing playlist.
The `force` argument is used to disable overwriting.
If the `force` argument is set to 0, a new playlist will be created suffixed with the date and time that the duplicate was uploaded.
| |
-| `SectionID` | *int64* | :heavy_check_mark: | Possibly the section ID to upload the playlist to, we are not certain. | 1 |
\ No newline at end of file
+| Field | Type | Required | Description | Example |
+| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `Path` | *string* | :heavy_check_mark: | absolute path to a directory on the server where m3u files are stored, or the absolute path to a playlist file on the server.
If the `path` argument is a directory, that path will be scanned for playlist files to be processed.
Each file in that directory creates a separate playlist, with a name based on the filename of the file that created it.
The GUID of each playlist is based on the filename.
If the `path` argument is a file, that file will be used to create a new playlist, with the name based on the filename of the file that created it.
The GUID of each playlist is based on the filename.
| /home/barkley/playlist.m3u |
+| `Force` | [operations.QueryParamForce](../../models/operations/queryparamforce.md) | :heavy_check_mark: | Force overwriting of duplicate playlists.
By default, a playlist file uploaded with the same path will overwrite the existing playlist.
The `force` argument is used to disable overwriting.
If the `force` argument is set to 0, a new playlist will be created suffixed with the date and time that the duplicate was uploaded.
| |
+| `SectionID` | *int64* | :heavy_check_mark: | Possibly the section ID to upload the playlist to, we are not certain. | 1 |
\ No newline at end of file
diff --git a/docs/sdks/library/README.md b/docs/sdks/library/README.md
index 85279fa..c3382c2 100644
--- a/docs/sdks/library/README.md
+++ b/docs/sdks/library/README.md
@@ -215,14 +215,14 @@ func main() {
## Library Details Endpoint
-This endpoint provides comprehensive details about the library, focusing on organizational aspects rather than the content itself.
+This endpoint provides comprehensive details about the library, focusing on organizational aspects rather than the content itself.
The details include:
### Directories
Organized into three categories:
-- **Primary Directories**:
+- **Primary Directories**:
- Used in some clients for quick access to media subsets (e.g., "All", "On Deck").
- Most can be replicated via media queries.
- Customizable by users.
@@ -284,12 +284,12 @@ func main() {
### Parameters
-| Parameter | Type | Required | Description | Example |
-| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| `ctx` | [context.Context](https://pkg.go.dev/context#Context) | :heavy_check_mark: | The context to use for the request. | |
-| `sectionKey` | *int* | :heavy_check_mark: | The unique key of the Plex library.
Note: This is unique in the context of the Plex server.
| 9518 |
-| `includeDetails` | [*operations.IncludeDetails](../../models/operations/includedetails.md) | :heavy_minus_sign: | Whether or not to include details for a section (types, filters, and sorts).
Only exists for backwards compatibility, media providers other than the server libraries have it on always.
| |
-| `opts` | [][operations.Option](../../models/operations/option.md) | :heavy_minus_sign: | The options for this request. | |
+| Parameter | Type | Required | Description | Example |
+| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `ctx` | [context.Context](https://pkg.go.dev/context#Context) | :heavy_check_mark: | The context to use for the request. | |
+| `sectionKey` | *int* | :heavy_check_mark: | The unique key of the Plex library.
Note: This is unique in the context of the Plex server.
| 9518 |
+| `includeDetails` | [*operations.IncludeDetails](../../models/operations/includedetails.md) | :heavy_minus_sign: | Whether or not to include details for a section (types, filters, and sorts).
Only exists for backwards compatibility, media providers other than the server libraries have it on always.
| |
+| `opts` | [][operations.Option](../../models/operations/option.md) | :heavy_minus_sign: | The options for this request. | |
### Response
diff --git a/docs/sdks/log/README.md b/docs/sdks/log/README.md
index 4ead8bf..ee2dd82 100644
--- a/docs/sdks/log/README.md
+++ b/docs/sdks/log/README.md
@@ -48,13 +48,13 @@ func main() {
### Parameters
-| Parameter | Type | Required | Description | Example |
-| ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- |
-| `ctx` | [context.Context](https://pkg.go.dev/context#Context) | :heavy_check_mark: | The context to use for the request. | |
-| `level` | [operations.Level](../../models/operations/level.md) | :heavy_check_mark: | An integer log level to write to the PMS log with.
0: Error
1: Warning
2: Info
3: Debug
4: Verbose
| |
-| `message` | *string* | :heavy_check_mark: | The text of the message to write to the log. | Test log message |
-| `source` | *string* | :heavy_check_mark: | a string indicating the source of the message. | Postman |
-| `opts` | [][operations.Option](../../models/operations/option.md) | :heavy_minus_sign: | The options for this request. | |
+| Parameter | Type | Required | Description | Example |
+| --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- |
+| `ctx` | [context.Context](https://pkg.go.dev/context#Context) | :heavy_check_mark: | The context to use for the request. | |
+| `level` | [operations.Level](../../models/operations/level.md) | :heavy_check_mark: | An integer log level to write to the PMS log with.
0: Error
1: Warning
2: Info
3: Debug
4: Verbose
| |
+| `message` | *string* | :heavy_check_mark: | The text of the message to write to the log. | Test log message |
+| `source` | *string* | :heavy_check_mark: | a string indicating the source of the message. | Postman |
+| `opts` | [][operations.Option](../../models/operations/option.md) | :heavy_minus_sign: | The options for this request. | |
### Response
@@ -70,13 +70,13 @@ func main() {
## LogMultiLine
-This endpoint allows for the batch addition of log entries to the main Plex Media Server log.
-It accepts a text/plain request body, where each line represents a distinct log entry.
-Each log entry consists of URL-encoded key-value pairs, specifying log attributes such as 'level', 'message', and 'source'.
+This endpoint allows for the batch addition of log entries to the main Plex Media Server log.
+It accepts a text/plain request body, where each line represents a distinct log entry.
+Each log entry consists of URL-encoded key-value pairs, specifying log attributes such as 'level', 'message', and 'source'.
-Log entries are separated by a newline character (`\n`).
-Each entry's parameters should be URL-encoded to ensure accurate parsing and handling of special characters.
-This method is efficient for logging multiple entries in a single API call, reducing the overhead of multiple individual requests.
+Log entries are separated by a newline character (`\n`).
+Each entry's parameters should be URL-encoded to ensure accurate parsing and handling of special characters.
+This method is efficient for logging multiple entries in a single API call, reducing the overhead of multiple individual requests.
The 'level' parameter specifies the log entry's severity or importance, with the following integer values:
- `0`: Error - Critical issues that require immediate attention.
diff --git a/docs/sdks/playlists/README.md b/docs/sdks/playlists/README.md
index def8e5c..a4145b9 100644
--- a/docs/sdks/playlists/README.md
+++ b/docs/sdks/playlists/README.md
@@ -3,9 +3,9 @@
## Overview
-Playlists are ordered collections of media. They can be dumb (just a list of media) or smart (based on a media query, such as "all albums from 2017").
+Playlists are ordered collections of media. They can be dumb (just a list of media) or smart (based on a media query, such as "all albums from 2017").
They can be organized in (optionally nesting) folders.
-Retrieving a playlist, or its items, will trigger a refresh of its metadata.
+Retrieving a playlist, or its items, will trigger a refresh of its metadata.
This may cause the duration and number of items to change.
@@ -500,13 +500,13 @@ func main() {
### Parameters
-| Parameter | Type | Required | Description | Example |
-| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `ctx` | [context.Context](https://pkg.go.dev/context#Context) | :heavy_check_mark: | The context to use for the request. | |
-| `path` | *string* | :heavy_check_mark: | absolute path to a directory on the server where m3u files are stored, or the absolute path to a playlist file on the server.
If the `path` argument is a directory, that path will be scanned for playlist files to be processed.
Each file in that directory creates a separate playlist, with a name based on the filename of the file that created it.
The GUID of each playlist is based on the filename.
If the `path` argument is a file, that file will be used to create a new playlist, with the name based on the filename of the file that created it.
The GUID of each playlist is based on the filename.
| /home/barkley/playlist.m3u |
-| `force` | [operations.QueryParamForce](../../models/operations/queryparamforce.md) | :heavy_check_mark: | Force overwriting of duplicate playlists.
By default, a playlist file uploaded with the same path will overwrite the existing playlist.
The `force` argument is used to disable overwriting.
If the `force` argument is set to 0, a new playlist will be created suffixed with the date and time that the duplicate was uploaded.
| |
-| `sectionID` | *int64* | :heavy_check_mark: | Possibly the section ID to upload the playlist to, we are not certain. | 1 |
-| `opts` | [][operations.Option](../../models/operations/option.md) | :heavy_minus_sign: | The options for this request. | |
+| Parameter | Type | Required | Description | Example |
+| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `ctx` | [context.Context](https://pkg.go.dev/context#Context) | :heavy_check_mark: | The context to use for the request. | |
+| `path` | *string* | :heavy_check_mark: | absolute path to a directory on the server where m3u files are stored, or the absolute path to a playlist file on the server.
If the `path` argument is a directory, that path will be scanned for playlist files to be processed.
Each file in that directory creates a separate playlist, with a name based on the filename of the file that created it.
The GUID of each playlist is based on the filename.
If the `path` argument is a file, that file will be used to create a new playlist, with the name based on the filename of the file that created it.
The GUID of each playlist is based on the filename.
| /home/barkley/playlist.m3u |
+| `force` | [operations.QueryParamForce](../../models/operations/queryparamforce.md) | :heavy_check_mark: | Force overwriting of duplicate playlists.
By default, a playlist file uploaded with the same path will overwrite the existing playlist.
The `force` argument is used to disable overwriting.
If the `force` argument is set to 0, a new playlist will be created suffixed with the date and time that the duplicate was uploaded.
| |
+| `sectionID` | *int64* | :heavy_check_mark: | Possibly the section ID to upload the playlist to, we are not certain. | 1 |
+| `opts` | [][operations.Option](../../models/operations/option.md) | :heavy_minus_sign: | The options for this request. | |
### Response
diff --git a/models/operations/createplaylist.go b/models/operations/createplaylist.go
index b1d3ed4..501a95b 100644
--- a/models/operations/createplaylist.go
+++ b/models/operations/createplaylist.go
@@ -20,23 +20,6 @@ const (
func (e CreatePlaylistQueryParamType) ToPointer() *CreatePlaylistQueryParamType {
return &e
}
-func (e *CreatePlaylistQueryParamType) UnmarshalJSON(data []byte) error {
- var v string
- if err := json.Unmarshal(data, &v); err != nil {
- return err
- }
- switch v {
- case "audio":
- fallthrough
- case "video":
- fallthrough
- case "photo":
- *e = CreatePlaylistQueryParamType(v)
- return nil
- default:
- return fmt.Errorf("invalid value for CreatePlaylistQueryParamType: %v", v)
- }
-}
// Smart - whether the playlist is smart or not
type Smart int64
diff --git a/models/operations/getactorslibrary.go b/models/operations/getactorslibrary.go
index 5e34e79..ebe3ff1 100644
--- a/models/operations/getactorslibrary.go
+++ b/models/operations/getactorslibrary.go
@@ -3,8 +3,6 @@
package operations
import (
- "encoding/json"
- "fmt"
"net/http"
)
@@ -29,31 +27,6 @@ const (
func (e GetActorsLibraryQueryParamType) ToPointer() *GetActorsLibraryQueryParamType {
return &e
}
-func (e *GetActorsLibraryQueryParamType) UnmarshalJSON(data []byte) error {
- var v int64
- if err := json.Unmarshal(data, &v); err != nil {
- return err
- }
- switch v {
- case 1:
- fallthrough
- case 2:
- fallthrough
- case 3:
- fallthrough
- case 4:
- fallthrough
- case 8:
- fallthrough
- case 9:
- fallthrough
- case 10:
- *e = GetActorsLibraryQueryParamType(v)
- return nil
- default:
- return fmt.Errorf("invalid value for GetActorsLibraryQueryParamType: %v", v)
- }
-}
type GetActorsLibraryRequest struct {
// The unique key of the Plex library.
diff --git a/models/operations/getalllibraries.go b/models/operations/getalllibraries.go
index 4d8aae8..dfd13c0 100644
--- a/models/operations/getalllibraries.go
+++ b/models/operations/getalllibraries.go
@@ -24,29 +24,6 @@ const (
func (e GetAllLibrariesType) ToPointer() *GetAllLibrariesType {
return &e
}
-func (e *GetAllLibrariesType) UnmarshalJSON(data []byte) error {
- var v string
- if err := json.Unmarshal(data, &v); err != nil {
- return err
- }
- switch v {
- case "movie":
- fallthrough
- case "show":
- fallthrough
- case "season":
- fallthrough
- case "episode":
- fallthrough
- case "artist":
- fallthrough
- case "album":
- *e = GetAllLibrariesType(v)
- return nil
- default:
- return fmt.Errorf("invalid value for GetAllLibrariesType: %v", v)
- }
-}
// Hidden - UNKNOWN
type Hidden int
diff --git a/models/operations/getallmedialibrary.go b/models/operations/getallmedialibrary.go
index c8c7507..ec19add 100644
--- a/models/operations/getallmedialibrary.go
+++ b/models/operations/getallmedialibrary.go
@@ -32,31 +32,6 @@ const (
func (e GetAllMediaLibraryQueryParamType) ToPointer() *GetAllMediaLibraryQueryParamType {
return &e
}
-func (e *GetAllMediaLibraryQueryParamType) UnmarshalJSON(data []byte) error {
- var v int64
- if err := json.Unmarshal(data, &v); err != nil {
- return err
- }
- switch v {
- case 1:
- fallthrough
- case 2:
- fallthrough
- case 3:
- fallthrough
- case 4:
- fallthrough
- case 8:
- fallthrough
- case 9:
- fallthrough
- case 10:
- *e = GetAllMediaLibraryQueryParamType(v)
- return nil
- default:
- return fmt.Errorf("invalid value for GetAllMediaLibraryQueryParamType: %v", v)
- }
-}
// GetAllMediaLibraryQueryParamIncludeMeta - Adds the Meta object to the response
type GetAllMediaLibraryQueryParamIncludeMeta int
@@ -660,29 +635,6 @@ const (
func (e GetAllMediaLibraryLibraryType) ToPointer() *GetAllMediaLibraryLibraryType {
return &e
}
-func (e *GetAllMediaLibraryLibraryType) UnmarshalJSON(data []byte) error {
- var v string
- if err := json.Unmarshal(data, &v); err != nil {
- return err
- }
- switch v {
- case "movie":
- fallthrough
- case "show":
- fallthrough
- case "season":
- fallthrough
- case "episode":
- fallthrough
- case "artist":
- fallthrough
- case "album":
- *e = GetAllMediaLibraryLibraryType(v)
- return nil
- default:
- return fmt.Errorf("invalid value for GetAllMediaLibraryLibraryType: %v", v)
- }
-}
type GetAllMediaLibraryLibraryResponseType string
@@ -696,25 +648,6 @@ const (
func (e GetAllMediaLibraryLibraryResponseType) ToPointer() *GetAllMediaLibraryLibraryResponseType {
return &e
}
-func (e *GetAllMediaLibraryLibraryResponseType) UnmarshalJSON(data []byte) error {
- var v string
- if err := json.Unmarshal(data, &v); err != nil {
- return err
- }
- switch v {
- case "coverPoster":
- fallthrough
- case "background":
- fallthrough
- case "snapshot":
- fallthrough
- case "clearLogo":
- *e = GetAllMediaLibraryLibraryResponseType(v)
- return nil
- default:
- return fmt.Errorf("invalid value for GetAllMediaLibraryLibraryResponseType: %v", v)
- }
-}
type GetAllMediaLibraryImage struct {
Alt string `json:"alt"`
diff --git a/models/operations/getcountrieslibrary.go b/models/operations/getcountrieslibrary.go
index 8fdf7de..7d02266 100644
--- a/models/operations/getcountrieslibrary.go
+++ b/models/operations/getcountrieslibrary.go
@@ -3,8 +3,6 @@
package operations
import (
- "encoding/json"
- "fmt"
"net/http"
)
@@ -29,31 +27,6 @@ const (
func (e GetCountriesLibraryQueryParamType) ToPointer() *GetCountriesLibraryQueryParamType {
return &e
}
-func (e *GetCountriesLibraryQueryParamType) UnmarshalJSON(data []byte) error {
- var v int64
- if err := json.Unmarshal(data, &v); err != nil {
- return err
- }
- switch v {
- case 1:
- fallthrough
- case 2:
- fallthrough
- case 3:
- fallthrough
- case 4:
- fallthrough
- case 8:
- fallthrough
- case 9:
- fallthrough
- case 10:
- *e = GetCountriesLibraryQueryParamType(v)
- return nil
- default:
- return fmt.Errorf("invalid value for GetCountriesLibraryQueryParamType: %v", v)
- }
-}
type GetCountriesLibraryRequest struct {
// The unique key of the Plex library.
diff --git a/models/operations/getgenreslibrary.go b/models/operations/getgenreslibrary.go
index 4d1e0a2..582c37e 100644
--- a/models/operations/getgenreslibrary.go
+++ b/models/operations/getgenreslibrary.go
@@ -3,8 +3,6 @@
package operations
import (
- "encoding/json"
- "fmt"
"net/http"
)
@@ -29,31 +27,6 @@ const (
func (e GetGenresLibraryQueryParamType) ToPointer() *GetGenresLibraryQueryParamType {
return &e
}
-func (e *GetGenresLibraryQueryParamType) UnmarshalJSON(data []byte) error {
- var v int64
- if err := json.Unmarshal(data, &v); err != nil {
- return err
- }
- switch v {
- case 1:
- fallthrough
- case 2:
- fallthrough
- case 3:
- fallthrough
- case 4:
- fallthrough
- case 8:
- fallthrough
- case 9:
- fallthrough
- case 10:
- *e = GetGenresLibraryQueryParamType(v)
- return nil
- default:
- return fmt.Errorf("invalid value for GetGenresLibraryQueryParamType: %v", v)
- }
-}
type GetGenresLibraryRequest struct {
// The unique key of the Plex library.
diff --git a/models/operations/getlibraryitems.go b/models/operations/getlibraryitems.go
index 7aa0da4..68721ae 100644
--- a/models/operations/getlibraryitems.go
+++ b/models/operations/getlibraryitems.go
@@ -35,49 +35,6 @@ const (
func (e Tag) ToPointer() *Tag {
return &e
}
-func (e *Tag) UnmarshalJSON(data []byte) error {
- var v string
- if err := json.Unmarshal(data, &v); err != nil {
- return err
- }
- switch v {
- case "unwatched":
- fallthrough
- case "newest":
- fallthrough
- case "recentlyAdded":
- fallthrough
- case "recentlyViewed":
- fallthrough
- case "onDeck":
- fallthrough
- case "collection":
- fallthrough
- case "edition":
- fallthrough
- case "year":
- fallthrough
- case "decade":
- fallthrough
- case "director":
- fallthrough
- case "contentRating":
- fallthrough
- case "rating":
- fallthrough
- case "resolution":
- fallthrough
- case "firstCharacter":
- fallthrough
- case "folder":
- fallthrough
- case "albums":
- *e = Tag(v)
- return nil
- default:
- return fmt.Errorf("invalid value for Tag: %v", v)
- }
-}
// IncludeGuids - Adds the Guids object to the response
type IncludeGuids int
@@ -127,31 +84,6 @@ const (
func (e GetLibraryItemsQueryParamType) ToPointer() *GetLibraryItemsQueryParamType {
return &e
}
-func (e *GetLibraryItemsQueryParamType) UnmarshalJSON(data []byte) error {
- var v int64
- if err := json.Unmarshal(data, &v); err != nil {
- return err
- }
- switch v {
- case 1:
- fallthrough
- case 2:
- fallthrough
- case 3:
- fallthrough
- case 4:
- fallthrough
- case 8:
- fallthrough
- case 9:
- fallthrough
- case 10:
- *e = GetLibraryItemsQueryParamType(v)
- return nil
- default:
- return fmt.Errorf("invalid value for GetLibraryItemsQueryParamType: %v", v)
- }
-}
// GetLibraryItemsQueryParamIncludeMeta - Adds the Meta object to the response
type GetLibraryItemsQueryParamIncludeMeta int
@@ -615,29 +547,6 @@ const (
func (e GetLibraryItemsLibraryType) ToPointer() *GetLibraryItemsLibraryType {
return &e
}
-func (e *GetLibraryItemsLibraryType) UnmarshalJSON(data []byte) error {
- var v string
- if err := json.Unmarshal(data, &v); err != nil {
- return err
- }
- switch v {
- case "movie":
- fallthrough
- case "show":
- fallthrough
- case "season":
- fallthrough
- case "episode":
- fallthrough
- case "artist":
- fallthrough
- case "album":
- *e = GetLibraryItemsLibraryType(v)
- return nil
- default:
- return fmt.Errorf("invalid value for GetLibraryItemsLibraryType: %v", v)
- }
-}
// FlattenSeasons - Setting that indicates if seasons are set to hidden for the show. (-1 = Library default, 0 = Hide, 1 = Show).
type FlattenSeasons string
@@ -651,23 +560,6 @@ const (
func (e FlattenSeasons) ToPointer() *FlattenSeasons {
return &e
}
-func (e *FlattenSeasons) UnmarshalJSON(data []byte) error {
- var v string
- if err := json.Unmarshal(data, &v); err != nil {
- return err
- }
- switch v {
- case "-1":
- fallthrough
- case "0":
- fallthrough
- case "1":
- *e = FlattenSeasons(v)
- return nil
- default:
- return fmt.Errorf("invalid value for FlattenSeasons: %v", v)
- }
-}
// EpisodeSort - Setting that indicates how episodes are sorted for the show. (-1 = Library default, 0 = Oldest first, 1 = Newest first).
type EpisodeSort string
@@ -681,23 +573,6 @@ const (
func (e EpisodeSort) ToPointer() *EpisodeSort {
return &e
}
-func (e *EpisodeSort) UnmarshalJSON(data []byte) error {
- var v string
- if err := json.Unmarshal(data, &v); err != nil {
- return err
- }
- switch v {
- case "-1":
- fallthrough
- case "0":
- fallthrough
- case "1":
- *e = EpisodeSort(v)
- return nil
- default:
- return fmt.Errorf("invalid value for EpisodeSort: %v", v)
- }
-}
// EnableCreditsMarkerGeneration - Setting that indicates if credits markers detection is enabled. (-1 = Library default, 0 = Disabled).
type EnableCreditsMarkerGeneration string
@@ -710,21 +585,6 @@ const (
func (e EnableCreditsMarkerGeneration) ToPointer() *EnableCreditsMarkerGeneration {
return &e
}
-func (e *EnableCreditsMarkerGeneration) UnmarshalJSON(data []byte) error {
- var v string
- if err := json.Unmarshal(data, &v); err != nil {
- return err
- }
- switch v {
- case "-1":
- fallthrough
- case "0":
- *e = EnableCreditsMarkerGeneration(v)
- return nil
- default:
- return fmt.Errorf("invalid value for EnableCreditsMarkerGeneration: %v", v)
- }
-}
// ShowOrdering - Setting that indicates the episode ordering for the show.
// None = Library default,
@@ -745,27 +605,6 @@ const (
func (e ShowOrdering) ToPointer() *ShowOrdering {
return &e
}
-func (e *ShowOrdering) UnmarshalJSON(data []byte) error {
- var v string
- if err := json.Unmarshal(data, &v); err != nil {
- return err
- }
- switch v {
- case "None":
- fallthrough
- case "tmdbAiring":
- fallthrough
- case "aired":
- fallthrough
- case "dvd":
- fallthrough
- case "absolute":
- *e = ShowOrdering(v)
- return nil
- default:
- return fmt.Errorf("invalid value for ShowOrdering: %v", v)
- }
-}
type GetLibraryItemsOptimizedForStreaming int
@@ -1652,25 +1491,6 @@ const (
func (e GetLibraryItemsLibraryResponse200Type) ToPointer() *GetLibraryItemsLibraryResponse200Type {
return &e
}
-func (e *GetLibraryItemsLibraryResponse200Type) UnmarshalJSON(data []byte) error {
- var v string
- if err := json.Unmarshal(data, &v); err != nil {
- return err
- }
- switch v {
- case "coverPoster":
- fallthrough
- case "background":
- fallthrough
- case "snapshot":
- fallthrough
- case "clearLogo":
- *e = GetLibraryItemsLibraryResponse200Type(v)
- return nil
- default:
- return fmt.Errorf("invalid value for GetLibraryItemsLibraryResponse200Type: %v", v)
- }
-}
type GetLibraryItemsImage struct {
Alt string `json:"alt"`
diff --git a/models/operations/getplaylistcontents.go b/models/operations/getplaylistcontents.go
index 6393675..29bf4c7 100644
--- a/models/operations/getplaylistcontents.go
+++ b/models/operations/getplaylistcontents.go
@@ -3,8 +3,6 @@
package operations
import (
- "encoding/json"
- "fmt"
"github.com/LukeHagar/plexgo/internal/utils"
"github.com/LukeHagar/plexgo/types"
"net/http"
@@ -31,31 +29,6 @@ const (
func (e GetPlaylistContentsQueryParamType) ToPointer() *GetPlaylistContentsQueryParamType {
return &e
}
-func (e *GetPlaylistContentsQueryParamType) UnmarshalJSON(data []byte) error {
- var v int64
- if err := json.Unmarshal(data, &v); err != nil {
- return err
- }
- switch v {
- case 1:
- fallthrough
- case 2:
- fallthrough
- case 3:
- fallthrough
- case 4:
- fallthrough
- case 8:
- fallthrough
- case 9:
- fallthrough
- case 10:
- *e = GetPlaylistContentsQueryParamType(v)
- return nil
- default:
- return fmt.Errorf("invalid value for GetPlaylistContentsQueryParamType: %v", v)
- }
-}
type GetPlaylistContentsRequest struct {
// the ID of the playlist
diff --git a/models/operations/getplaylists.go b/models/operations/getplaylists.go
index b39e82f..0bfe28f 100644
--- a/models/operations/getplaylists.go
+++ b/models/operations/getplaylists.go
@@ -3,8 +3,6 @@
package operations
import (
- "encoding/json"
- "fmt"
"net/http"
)
@@ -20,23 +18,6 @@ const (
func (e PlaylistType) ToPointer() *PlaylistType {
return &e
}
-func (e *PlaylistType) UnmarshalJSON(data []byte) error {
- var v string
- if err := json.Unmarshal(data, &v); err != nil {
- return err
- }
- switch v {
- case "audio":
- fallthrough
- case "video":
- fallthrough
- case "photo":
- *e = PlaylistType(v)
- return nil
- default:
- return fmt.Errorf("invalid value for PlaylistType: %v", v)
- }
-}
// QueryParamSmart - type of playlists to return (default is all).
type QueryParamSmart int64
@@ -49,21 +30,6 @@ const (
func (e QueryParamSmart) ToPointer() *QueryParamSmart {
return &e
}
-func (e *QueryParamSmart) UnmarshalJSON(data []byte) error {
- var v int64
- if err := json.Unmarshal(data, &v); err != nil {
- return err
- }
- switch v {
- case 0:
- fallthrough
- case 1:
- *e = QueryParamSmart(v)
- return nil
- default:
- return fmt.Errorf("invalid value for QueryParamSmart: %v", v)
- }
-}
type GetPlaylistsRequest struct {
// limit to a type of playlist.
diff --git a/models/operations/getrecentlyadded.go b/models/operations/getrecentlyadded.go
index f575dc7..7c77a2b 100644
--- a/models/operations/getrecentlyadded.go
+++ b/models/operations/getrecentlyadded.go
@@ -32,31 +32,6 @@ const (
func (e Type) ToPointer() *Type {
return &e
}
-func (e *Type) UnmarshalJSON(data []byte) error {
- var v int64
- if err := json.Unmarshal(data, &v); err != nil {
- return err
- }
- switch v {
- case 1:
- fallthrough
- case 2:
- fallthrough
- case 3:
- fallthrough
- case 4:
- fallthrough
- case 8:
- fallthrough
- case 9:
- fallthrough
- case 10:
- *e = Type(v)
- return nil
- default:
- return fmt.Errorf("invalid value for Type: %v", v)
- }
-}
// IncludeMeta - Adds the Meta object to the response
type IncludeMeta int
@@ -537,29 +512,6 @@ const (
func (e GetRecentlyAddedHubsType) ToPointer() *GetRecentlyAddedHubsType {
return &e
}
-func (e *GetRecentlyAddedHubsType) UnmarshalJSON(data []byte) error {
- var v string
- if err := json.Unmarshal(data, &v); err != nil {
- return err
- }
- switch v {
- case "movie":
- fallthrough
- case "show":
- fallthrough
- case "season":
- fallthrough
- case "episode":
- fallthrough
- case "artist":
- fallthrough
- case "album":
- *e = GetRecentlyAddedHubsType(v)
- return nil
- default:
- return fmt.Errorf("invalid value for GetRecentlyAddedHubsType: %v", v)
- }
-}
type GetRecentlyAddedHubsResponseType string
@@ -573,25 +525,6 @@ const (
func (e GetRecentlyAddedHubsResponseType) ToPointer() *GetRecentlyAddedHubsResponseType {
return &e
}
-func (e *GetRecentlyAddedHubsResponseType) UnmarshalJSON(data []byte) error {
- var v string
- if err := json.Unmarshal(data, &v); err != nil {
- return err
- }
- switch v {
- case "coverPoster":
- fallthrough
- case "background":
- fallthrough
- case "snapshot":
- fallthrough
- case "clearLogo":
- *e = GetRecentlyAddedHubsResponseType(v)
- return nil
- default:
- return fmt.Errorf("invalid value for GetRecentlyAddedHubsResponseType: %v", v)
- }
-}
type GetRecentlyAddedImage struct {
Alt string `json:"alt"`
diff --git a/models/operations/getrecentlyaddedlibrary.go b/models/operations/getrecentlyaddedlibrary.go
index 7201707..41b652c 100644
--- a/models/operations/getrecentlyaddedlibrary.go
+++ b/models/operations/getrecentlyaddedlibrary.go
@@ -31,31 +31,6 @@ const (
func (e QueryParamType) ToPointer() *QueryParamType {
return &e
}
-func (e *QueryParamType) UnmarshalJSON(data []byte) error {
- var v int64
- if err := json.Unmarshal(data, &v); err != nil {
- return err
- }
- switch v {
- case 1:
- fallthrough
- case 2:
- fallthrough
- case 3:
- fallthrough
- case 4:
- fallthrough
- case 8:
- fallthrough
- case 9:
- fallthrough
- case 10:
- *e = QueryParamType(v)
- return nil
- default:
- return fmt.Errorf("invalid value for QueryParamType: %v", v)
- }
-}
// QueryParamIncludeMeta - Adds the Meta object to the response
type QueryParamIncludeMeta int
diff --git a/models/operations/getsearchalllibraries.go b/models/operations/getsearchalllibraries.go
index 5bd714c..7b022a0 100644
--- a/models/operations/getsearchalllibraries.go
+++ b/models/operations/getsearchalllibraries.go
@@ -23,27 +23,6 @@ const (
func (e SearchTypes) ToPointer() *SearchTypes {
return &e
}
-func (e *SearchTypes) UnmarshalJSON(data []byte) error {
- var v string
- if err := json.Unmarshal(data, &v); err != nil {
- return err
- }
- switch v {
- case "movies":
- fallthrough
- case "music":
- fallthrough
- case "otherVideos":
- fallthrough
- case "people":
- fallthrough
- case "tv":
- *e = SearchTypes(v)
- return nil
- default:
- return fmt.Errorf("invalid value for SearchTypes: %v", v)
- }
-}
// GetSearchAllLibrariesQueryParamIncludeCollections - Whether to include collections in the search results.
type GetSearchAllLibrariesQueryParamIncludeCollections int
@@ -183,29 +162,6 @@ const (
func (e GetSearchAllLibrariesType) ToPointer() *GetSearchAllLibrariesType {
return &e
}
-func (e *GetSearchAllLibrariesType) UnmarshalJSON(data []byte) error {
- var v string
- if err := json.Unmarshal(data, &v); err != nil {
- return err
- }
- switch v {
- case "movie":
- fallthrough
- case "show":
- fallthrough
- case "season":
- fallthrough
- case "episode":
- fallthrough
- case "artist":
- fallthrough
- case "album":
- *e = GetSearchAllLibrariesType(v)
- return nil
- default:
- return fmt.Errorf("invalid value for GetSearchAllLibrariesType: %v", v)
- }
-}
// GetSearchAllLibrariesFlattenSeasons - Setting that indicates if seasons are set to hidden for the show. (-1 = Library default, 0 = Hide, 1 = Show).
type GetSearchAllLibrariesFlattenSeasons string
@@ -219,23 +175,6 @@ const (
func (e GetSearchAllLibrariesFlattenSeasons) ToPointer() *GetSearchAllLibrariesFlattenSeasons {
return &e
}
-func (e *GetSearchAllLibrariesFlattenSeasons) UnmarshalJSON(data []byte) error {
- var v string
- if err := json.Unmarshal(data, &v); err != nil {
- return err
- }
- switch v {
- case "-1":
- fallthrough
- case "0":
- fallthrough
- case "1":
- *e = GetSearchAllLibrariesFlattenSeasons(v)
- return nil
- default:
- return fmt.Errorf("invalid value for GetSearchAllLibrariesFlattenSeasons: %v", v)
- }
-}
// GetSearchAllLibrariesEpisodeSort - Setting that indicates how episodes are sorted for the show. (-1 = Library default, 0 = Oldest first, 1 = Newest first).
type GetSearchAllLibrariesEpisodeSort string
@@ -249,23 +188,6 @@ const (
func (e GetSearchAllLibrariesEpisodeSort) ToPointer() *GetSearchAllLibrariesEpisodeSort {
return &e
}
-func (e *GetSearchAllLibrariesEpisodeSort) UnmarshalJSON(data []byte) error {
- var v string
- if err := json.Unmarshal(data, &v); err != nil {
- return err
- }
- switch v {
- case "-1":
- fallthrough
- case "0":
- fallthrough
- case "1":
- *e = GetSearchAllLibrariesEpisodeSort(v)
- return nil
- default:
- return fmt.Errorf("invalid value for GetSearchAllLibrariesEpisodeSort: %v", v)
- }
-}
// GetSearchAllLibrariesEnableCreditsMarkerGeneration - Setting that indicates if credits markers detection is enabled. (-1 = Library default, 0 = Disabled).
type GetSearchAllLibrariesEnableCreditsMarkerGeneration string
@@ -278,21 +200,6 @@ const (
func (e GetSearchAllLibrariesEnableCreditsMarkerGeneration) ToPointer() *GetSearchAllLibrariesEnableCreditsMarkerGeneration {
return &e
}
-func (e *GetSearchAllLibrariesEnableCreditsMarkerGeneration) UnmarshalJSON(data []byte) error {
- var v string
- if err := json.Unmarshal(data, &v); err != nil {
- return err
- }
- switch v {
- case "-1":
- fallthrough
- case "0":
- *e = GetSearchAllLibrariesEnableCreditsMarkerGeneration(v)
- return nil
- default:
- return fmt.Errorf("invalid value for GetSearchAllLibrariesEnableCreditsMarkerGeneration: %v", v)
- }
-}
// GetSearchAllLibrariesShowOrdering - Setting that indicates the episode ordering for the show.
// None = Library default,
@@ -313,27 +220,6 @@ const (
func (e GetSearchAllLibrariesShowOrdering) ToPointer() *GetSearchAllLibrariesShowOrdering {
return &e
}
-func (e *GetSearchAllLibrariesShowOrdering) UnmarshalJSON(data []byte) error {
- var v string
- if err := json.Unmarshal(data, &v); err != nil {
- return err
- }
- switch v {
- case "None":
- fallthrough
- case "tmdbAiring":
- fallthrough
- case "aired":
- fallthrough
- case "dvd":
- fallthrough
- case "absolute":
- *e = GetSearchAllLibrariesShowOrdering(v)
- return nil
- default:
- return fmt.Errorf("invalid value for GetSearchAllLibrariesShowOrdering: %v", v)
- }
-}
type GetSearchAllLibrariesOptimizedForStreaming int
@@ -1220,25 +1106,6 @@ const (
func (e GetSearchAllLibrariesLibraryType) ToPointer() *GetSearchAllLibrariesLibraryType {
return &e
}
-func (e *GetSearchAllLibrariesLibraryType) UnmarshalJSON(data []byte) error {
- var v string
- if err := json.Unmarshal(data, &v); err != nil {
- return err
- }
- switch v {
- case "coverPoster":
- fallthrough
- case "background":
- fallthrough
- case "snapshot":
- fallthrough
- case "clearLogo":
- *e = GetSearchAllLibrariesLibraryType(v)
- return nil
- default:
- return fmt.Errorf("invalid value for GetSearchAllLibrariesLibraryType: %v", v)
- }
-}
type GetSearchAllLibrariesImage struct {
Alt string `json:"alt"`
diff --git a/models/operations/getsearchlibrary.go b/models/operations/getsearchlibrary.go
index 1e6a181..f042f36 100644
--- a/models/operations/getsearchlibrary.go
+++ b/models/operations/getsearchlibrary.go
@@ -3,8 +3,6 @@
package operations
import (
- "encoding/json"
- "fmt"
"net/http"
)
@@ -29,31 +27,6 @@ const (
func (e GetSearchLibraryQueryParamType) ToPointer() *GetSearchLibraryQueryParamType {
return &e
}
-func (e *GetSearchLibraryQueryParamType) UnmarshalJSON(data []byte) error {
- var v int64
- if err := json.Unmarshal(data, &v); err != nil {
- return err
- }
- switch v {
- case 1:
- fallthrough
- case 2:
- fallthrough
- case 3:
- fallthrough
- case 4:
- fallthrough
- case 8:
- fallthrough
- case 9:
- fallthrough
- case 10:
- *e = GetSearchLibraryQueryParamType(v)
- return nil
- default:
- return fmt.Errorf("invalid value for GetSearchLibraryQueryParamType: %v", v)
- }
-}
type GetSearchLibraryRequest struct {
// The unique key of the Plex library.
diff --git a/models/operations/gettimeline.go b/models/operations/gettimeline.go
index ecc2305..a19c3e1 100644
--- a/models/operations/gettimeline.go
+++ b/models/operations/gettimeline.go
@@ -3,8 +3,6 @@
package operations
import (
- "encoding/json"
- "fmt"
"net/http"
)
@@ -20,23 +18,6 @@ const (
func (e State) ToPointer() *State {
return &e
}
-func (e *State) UnmarshalJSON(data []byte) error {
- var v string
- if err := json.Unmarshal(data, &v); err != nil {
- return err
- }
- switch v {
- case "playing":
- fallthrough
- case "paused":
- fallthrough
- case "stopped":
- *e = State(v)
- return nil
- default:
- return fmt.Errorf("invalid value for State: %v", v)
- }
-}
type GetTimelineRequest struct {
// The rating key of the media item
diff --git a/models/operations/gettokendetails.go b/models/operations/gettokendetails.go
index 43db048..a888b1e 100644
--- a/models/operations/gettokendetails.go
+++ b/models/operations/gettokendetails.go
@@ -24,21 +24,6 @@ const (
func (e MailingListStatus) ToPointer() *MailingListStatus {
return &e
}
-func (e *MailingListStatus) UnmarshalJSON(data []byte) error {
- var v string
- if err := json.Unmarshal(data, &v); err != nil {
- return err
- }
- switch v {
- case "active":
- fallthrough
- case "unsubscribed":
- *e = MailingListStatus(v)
- return nil
- default:
- return fmt.Errorf("invalid value for MailingListStatus: %v", v)
- }
-}
// AutoSelectSubtitle - The auto-select subtitle mode (0 = Manually selected, 1 = Shown with foreign audio, 2 = Always enabled)
type AutoSelectSubtitle int
@@ -266,21 +251,6 @@ const (
func (e GetTokenDetailsStatus) ToPointer() *GetTokenDetailsStatus {
return &e
}
-func (e *GetTokenDetailsStatus) UnmarshalJSON(data []byte) error {
- var v string
- if err := json.Unmarshal(data, &v); err != nil {
- return err
- }
- switch v {
- case "online":
- fallthrough
- case "offline":
- *e = GetTokenDetailsStatus(v)
- return nil
- default:
- return fmt.Errorf("invalid value for GetTokenDetailsStatus: %v", v)
- }
-}
type Services struct {
Identifier string `json:"identifier"`
@@ -336,21 +306,6 @@ const (
func (e GetTokenDetailsAuthenticationStatus) ToPointer() *GetTokenDetailsAuthenticationStatus {
return &e
}
-func (e *GetTokenDetailsAuthenticationStatus) UnmarshalJSON(data []byte) error {
- var v string
- if err := json.Unmarshal(data, &v); err != nil {
- return err
- }
- switch v {
- case "Inactive":
- fallthrough
- case "Active":
- *e = GetTokenDetailsAuthenticationStatus(v)
- return nil
- default:
- return fmt.Errorf("invalid value for GetTokenDetailsAuthenticationStatus: %v", v)
- }
-}
// Subscription - If the account’s Plex Pass subscription is active
type Subscription struct {
@@ -421,21 +376,6 @@ const (
func (e GetTokenDetailsAuthenticationResponseStatus) ToPointer() *GetTokenDetailsAuthenticationResponseStatus {
return &e
}
-func (e *GetTokenDetailsAuthenticationResponseStatus) UnmarshalJSON(data []byte) error {
- var v string
- if err := json.Unmarshal(data, &v); err != nil {
- return err
- }
- switch v {
- case "Inactive":
- fallthrough
- case "Active":
- *e = GetTokenDetailsAuthenticationResponseStatus(v)
- return nil
- default:
- return fmt.Errorf("invalid value for GetTokenDetailsAuthenticationResponseStatus: %v", v)
- }
-}
type GetTokenDetailsSubscription struct {
// List of features allowed on your Plex Pass subscription
diff --git a/models/operations/gettopwatchedcontent.go b/models/operations/gettopwatchedcontent.go
index b7d17a6..eea3cf7 100644
--- a/models/operations/gettopwatchedcontent.go
+++ b/models/operations/gettopwatchedcontent.go
@@ -3,8 +3,6 @@
package operations
import (
- "encoding/json"
- "fmt"
"github.com/LukeHagar/plexgo/internal/utils"
"github.com/LukeHagar/plexgo/types"
"net/http"
@@ -31,31 +29,6 @@ const (
func (e GetTopWatchedContentQueryParamType) ToPointer() *GetTopWatchedContentQueryParamType {
return &e
}
-func (e *GetTopWatchedContentQueryParamType) UnmarshalJSON(data []byte) error {
- var v int64
- if err := json.Unmarshal(data, &v); err != nil {
- return err
- }
- switch v {
- case 1:
- fallthrough
- case 2:
- fallthrough
- case 3:
- fallthrough
- case 4:
- fallthrough
- case 8:
- fallthrough
- case 9:
- fallthrough
- case 10:
- *e = GetTopWatchedContentQueryParamType(v)
- return nil
- default:
- return fmt.Errorf("invalid value for GetTopWatchedContentQueryParamType: %v", v)
- }
-}
type GetTopWatchedContentRequest struct {
// Adds the Guids object to the response
diff --git a/models/operations/getuserfriends.go b/models/operations/getuserfriends.go
index b95d5ee..ad00e98 100644
--- a/models/operations/getuserfriends.go
+++ b/models/operations/getuserfriends.go
@@ -3,8 +3,6 @@
package operations
import (
- "encoding/json"
- "fmt"
"github.com/LukeHagar/plexgo/internal/utils"
"net/http"
)
@@ -29,19 +27,6 @@ const (
func (e Status) ToPointer() *Status {
return &e
}
-func (e *Status) UnmarshalJSON(data []byte) error {
- var v string
- if err := json.Unmarshal(data, &v); err != nil {
- return err
- }
- switch v {
- case "accepted":
- *e = Status(v)
- return nil
- default:
- return fmt.Errorf("invalid value for Status: %v", v)
- }
-}
type Friend struct {
// The account email address
diff --git a/models/operations/getwatchlist.go b/models/operations/getwatchlist.go
index 4c03837..29238fd 100644
--- a/models/operations/getwatchlist.go
+++ b/models/operations/getwatchlist.go
@@ -26,23 +26,6 @@ const (
func (e Filter) ToPointer() *Filter {
return &e
}
-func (e *Filter) UnmarshalJSON(data []byte) error {
- var v string
- if err := json.Unmarshal(data, &v); err != nil {
- return err
- }
- switch v {
- case "all":
- fallthrough
- case "available":
- fallthrough
- case "released":
- *e = Filter(v)
- return nil
- default:
- return fmt.Errorf("invalid value for Filter: %v", v)
- }
-}
// Libtype - The type of library to filter. Can be "movie" or "show", or all if not present.
type Libtype string
@@ -55,21 +38,6 @@ const (
func (e Libtype) ToPointer() *Libtype {
return &e
}
-func (e *Libtype) UnmarshalJSON(data []byte) error {
- var v string
- if err := json.Unmarshal(data, &v); err != nil {
- return err
- }
- switch v {
- case "movie":
- fallthrough
- case "show":
- *e = Libtype(v)
- return nil
- default:
- return fmt.Errorf("invalid value for Libtype: %v", v)
- }
-}
// IncludeCollections - include collections in the results
type IncludeCollections int64
diff --git a/models/operations/logline.go b/models/operations/logline.go
index 0b11022..dcdcd27 100644
--- a/models/operations/logline.go
+++ b/models/operations/logline.go
@@ -3,8 +3,6 @@
package operations
import (
- "encoding/json"
- "fmt"
"net/http"
)
@@ -27,27 +25,6 @@ const (
func (e Level) ToPointer() *Level {
return &e
}
-func (e *Level) UnmarshalJSON(data []byte) error {
- var v int64
- if err := json.Unmarshal(data, &v); err != nil {
- return err
- }
- switch v {
- case 0:
- fallthrough
- case 1:
- fallthrough
- case 2:
- fallthrough
- case 3:
- fallthrough
- case 4:
- *e = Level(v)
- return nil
- default:
- return fmt.Errorf("invalid value for Level: %v", v)
- }
-}
type LogLineRequest struct {
// An integer log level to write to the PMS log with.
diff --git a/models/operations/postuserssignindata.go b/models/operations/postuserssignindata.go
index 9ecaf10..3b3dd55 100644
--- a/models/operations/postuserssignindata.go
+++ b/models/operations/postuserssignindata.go
@@ -128,21 +128,6 @@ const (
func (e PostUsersSignInDataMailingListStatus) ToPointer() *PostUsersSignInDataMailingListStatus {
return &e
}
-func (e *PostUsersSignInDataMailingListStatus) UnmarshalJSON(data []byte) error {
- var v string
- if err := json.Unmarshal(data, &v); err != nil {
- return err
- }
- switch v {
- case "active":
- fallthrough
- case "unsubscribed":
- *e = PostUsersSignInDataMailingListStatus(v)
- return nil
- default:
- return fmt.Errorf("invalid value for PostUsersSignInDataMailingListStatus: %v", v)
- }
-}
// PostUsersSignInDataAutoSelectSubtitle - The auto-select subtitle mode (0 = Manually selected, 1 = Shown with foreign audio, 2 = Always enabled)
type PostUsersSignInDataAutoSelectSubtitle int
@@ -370,21 +355,6 @@ const (
func (e PostUsersSignInDataStatus) ToPointer() *PostUsersSignInDataStatus {
return &e
}
-func (e *PostUsersSignInDataStatus) UnmarshalJSON(data []byte) error {
- var v string
- if err := json.Unmarshal(data, &v); err != nil {
- return err
- }
- switch v {
- case "online":
- fallthrough
- case "offline":
- *e = PostUsersSignInDataStatus(v)
- return nil
- default:
- return fmt.Errorf("invalid value for PostUsersSignInDataStatus: %v", v)
- }
-}
type PostUsersSignInDataServices struct {
Identifier string `json:"identifier"`
@@ -440,21 +410,6 @@ const (
func (e PostUsersSignInDataAuthenticationStatus) ToPointer() *PostUsersSignInDataAuthenticationStatus {
return &e
}
-func (e *PostUsersSignInDataAuthenticationStatus) UnmarshalJSON(data []byte) error {
- var v string
- if err := json.Unmarshal(data, &v); err != nil {
- return err
- }
- switch v {
- case "Inactive":
- fallthrough
- case "Active":
- *e = PostUsersSignInDataAuthenticationStatus(v)
- return nil
- default:
- return fmt.Errorf("invalid value for PostUsersSignInDataAuthenticationStatus: %v", v)
- }
-}
// PostUsersSignInDataSubscription - If the account’s Plex Pass subscription is active
type PostUsersSignInDataSubscription struct {
@@ -525,21 +480,6 @@ const (
func (e PostUsersSignInDataAuthenticationResponseStatus) ToPointer() *PostUsersSignInDataAuthenticationResponseStatus {
return &e
}
-func (e *PostUsersSignInDataAuthenticationResponseStatus) UnmarshalJSON(data []byte) error {
- var v string
- if err := json.Unmarshal(data, &v); err != nil {
- return err
- }
- switch v {
- case "Inactive":
- fallthrough
- case "Active":
- *e = PostUsersSignInDataAuthenticationResponseStatus(v)
- return nil
- default:
- return fmt.Errorf("invalid value for PostUsersSignInDataAuthenticationResponseStatus: %v", v)
- }
-}
type PostUsersSignInDataAuthenticationSubscription struct {
// List of features allowed on your Plex Pass subscription
@@ -607,19 +547,6 @@ const (
func (e PostUsersSignInDataState) ToPointer() *PostUsersSignInDataState {
return &e
}
-func (e *PostUsersSignInDataState) UnmarshalJSON(data []byte) error {
- var v string
- if err := json.Unmarshal(data, &v); err != nil {
- return err
- }
- switch v {
- case "ended":
- *e = PostUsersSignInDataState(v)
- return nil
- default:
- return fmt.Errorf("invalid value for PostUsersSignInDataState: %v", v)
- }
-}
type InternalPaymentMethod struct {
}
diff --git a/models/operations/starttask.go b/models/operations/starttask.go
index e6993ff..5644b92 100644
--- a/models/operations/starttask.go
+++ b/models/operations/starttask.go
@@ -3,8 +3,6 @@
package operations
import (
- "encoding/json"
- "fmt"
"net/http"
)
@@ -31,45 +29,6 @@ const (
func (e TaskName) ToPointer() *TaskName {
return &e
}
-func (e *TaskName) UnmarshalJSON(data []byte) error {
- var v string
- if err := json.Unmarshal(data, &v); err != nil {
- return err
- }
- switch v {
- case "BackupDatabase":
- fallthrough
- case "BuildGracenoteCollections":
- fallthrough
- case "CheckForUpdates":
- fallthrough
- case "CleanOldBundles":
- fallthrough
- case "CleanOldCacheFiles":
- fallthrough
- case "DeepMediaAnalysis":
- fallthrough
- case "GenerateAutoTags":
- fallthrough
- case "GenerateChapterThumbs":
- fallthrough
- case "GenerateMediaIndexFiles":
- fallthrough
- case "OptimizeDatabase":
- fallthrough
- case "RefreshLibraries":
- fallthrough
- case "RefreshLocalMedia":
- fallthrough
- case "RefreshPeriodicMetadata":
- fallthrough
- case "UpgradeMediaAnalysis":
- *e = TaskName(v)
- return nil
- default:
- return fmt.Errorf("invalid value for TaskName: %v", v)
- }
-}
type StartTaskRequest struct {
// the name of the task to be started.
diff --git a/models/operations/stoptask.go b/models/operations/stoptask.go
index 72de16f..813bc21 100644
--- a/models/operations/stoptask.go
+++ b/models/operations/stoptask.go
@@ -3,8 +3,6 @@
package operations
import (
- "encoding/json"
- "fmt"
"net/http"
)
@@ -31,45 +29,6 @@ const (
func (e PathParamTaskName) ToPointer() *PathParamTaskName {
return &e
}
-func (e *PathParamTaskName) UnmarshalJSON(data []byte) error {
- var v string
- if err := json.Unmarshal(data, &v); err != nil {
- return err
- }
- switch v {
- case "BackupDatabase":
- fallthrough
- case "BuildGracenoteCollections":
- fallthrough
- case "CheckForUpdates":
- fallthrough
- case "CleanOldBundles":
- fallthrough
- case "CleanOldCacheFiles":
- fallthrough
- case "DeepMediaAnalysis":
- fallthrough
- case "GenerateAutoTags":
- fallthrough
- case "GenerateChapterThumbs":
- fallthrough
- case "GenerateMediaIndexFiles":
- fallthrough
- case "OptimizeDatabase":
- fallthrough
- case "RefreshLibraries":
- fallthrough
- case "RefreshLocalMedia":
- fallthrough
- case "RefreshPeriodicMetadata":
- fallthrough
- case "UpgradeMediaAnalysis":
- *e = PathParamTaskName(v)
- return nil
- default:
- return fmt.Errorf("invalid value for PathParamTaskName: %v", v)
- }
-}
type StopTaskRequest struct {
// The name of the task to be started.
diff --git a/plexapi.go b/plexapi.go
index 3fce8c3..03617a6 100644
--- a/plexapi.go
+++ b/plexapi.go
@@ -299,9 +299,9 @@ func New(opts ...SDKOption) *PlexAPI {
sdkConfiguration: sdkConfiguration{
Language: "go",
OpenAPIDocVersion: "0.0.3",
- SDKVersion: "0.20.3",
+ SDKVersion: "0.21.0",
GenVersion: "2.585.2",
- UserAgent: "speakeasy-sdk/go 0.20.3 2.585.2 0.0.3 github.com/LukeHagar/plexgo",
+ UserAgent: "speakeasy-sdk/go 0.21.0 2.585.2 0.0.3 github.com/LukeHagar/plexgo",
ServerDefaults: []map[string]string{
{
"protocol": "https",