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",