Compare commits

...

4 Commits

Author SHA1 Message Date
speakeasybot
673a771f04 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.535.1 2025-04-19 17:13:50 +00:00
speakeasybot
216a94fe7d ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.535.1 2025-04-18 23:01:17 +00:00
speakeasybot
88d690ffc2 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.531.4 2025-04-15 00:11:29 +00:00
speakeasybot
48a739d923 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.529.1 2025-04-07 00:11:42 +00:00
43 changed files with 409 additions and 1273 deletions

File diff suppressed because one or more lines are too long

View File

@@ -15,7 +15,7 @@ generation:
oAuth2ClientCredentialsEnabled: true oAuth2ClientCredentialsEnabled: true
oAuth2PasswordEnabled: false oAuth2PasswordEnabled: false
go: go:
version: 0.20.0 version: 0.21.0
additionalDependencies: {} additionalDependencies: {}
allowUnknownFieldsInWeakUnions: false allowUnknownFieldsInWeakUnions: false
clientServerStatusCodesAsErrors: true clientServerStatusCodesAsErrors: true

View File

@@ -1,4 +1,4 @@
speakeasyVersion: 1.528.1 speakeasyVersion: 1.535.1
sources: sources:
my-source: my-source:
sourceNamespace: my-source sourceNamespace: my-source
@@ -9,19 +9,19 @@ sources:
- main - main
plexapi: plexapi:
sourceNamespace: plexapi sourceNamespace: plexapi
sourceRevisionDigest: sha256:b5580df6ec4a386e12249ff13f35b916fe5559e101de4a816b53e47d6947f1a5 sourceRevisionDigest: sha256:b2f9599237ceb13cf8f9c1693e38b290177b65fb389cebf0c3c60b8ef4778615
sourceBlobDigest: sha256:6108b6c35fbe7e9163ffe0c804170f5e3a6edb63b8e745454ea8ee249bd790c3 sourceBlobDigest: sha256:f8df9ef88ada992cd981d601e6c0b45cc82db76aba3d915c2f9d08f90c81ced9
tags: tags:
- latest - latest
- speakeasy-sdk-regen-1743717350 - speakeasy-sdk-regen-1745082762
targets: targets:
plexgo: plexgo:
source: plexapi source: plexapi
sourceNamespace: plexapi sourceNamespace: plexapi
sourceRevisionDigest: sha256:b5580df6ec4a386e12249ff13f35b916fe5559e101de4a816b53e47d6947f1a5 sourceRevisionDigest: sha256:b2f9599237ceb13cf8f9c1693e38b290177b65fb389cebf0c3c60b8ef4778615
sourceBlobDigest: sha256:6108b6c35fbe7e9163ffe0c804170f5e3a6edb63b8e745454ea8ee249bd790c3 sourceBlobDigest: sha256:f8df9ef88ada992cd981d601e6c0b45cc82db76aba3d915c2f9d08f90c81ced9
codeSamplesNamespace: code-samples-go-plexgo codeSamplesNamespace: code-samples-go-plexgo
codeSamplesRevisionDigest: sha256:79894823370484c5d10a5e47db8b83467214c4416cf2ce03e19eac6a031c23b9 codeSamplesRevisionDigest: sha256:2d25718f4996da172444f082138e8a821c79218d583115151e7d1ebe953e7def
workflow: workflow:
workflowVersion: 1.0.0 workflowVersion: 1.0.0
speakeasyVersion: latest speakeasyVersion: latest

View File

@@ -1092,4 +1092,44 @@ Based on:
### Generated ### Generated
- [go v0.20.0] . - [go v0.20.0] .
### Releases ### Releases
- [Go v0.20.0] https://github.com/LukeHagar/plexgo/releases/tag/v0.20.0 - . - [Go v0.20.0] https://github.com/LukeHagar/plexgo/releases/tag/v0.20.0 - .
## 2025-04-07 00:10:20
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.529.1 (2.566.5) https://github.com/speakeasy-api/speakeasy
### Generated
- [go v0.20.1] .
### Releases
- [Go v0.20.1] https://github.com/LukeHagar/plexgo/releases/tag/v0.20.1 - .
## 2025-04-15 00:10:03
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.531.4 (2.570.4) https://github.com/speakeasy-api/speakeasy
### Generated
- [go v0.20.2] .
### Releases
- [Go v0.20.2] https://github.com/LukeHagar/plexgo/releases/tag/v0.20.2 - .
## 2025-04-18 22:59:48
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.535.1 (2.585.2) https://github.com/speakeasy-api/speakeasy
### Generated
- [go v0.20.3] .
### Releases
- [Go v0.20.3] https://github.com/LukeHagar/plexgo/releases/tag/v0.20.3 - .
## 2025-04-19 17:12:25
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.535.1 (2.585.2) https://github.com/speakeasy-api/speakeasy
### Generated
- [go v0.21.0] .
### Releases
- [Go v0.21.0] https://github.com/LukeHagar/plexgo/releases/tag/v0.21.0 - .

View File

@@ -3,26 +3,26 @@
## Fields ## Fields
| Field | Type | Required | Description | Example | | Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `AllowSync` | *bool* | :heavy_check_mark: | N/A | true | | `AllowSync` | *bool* | :heavy_check_mark: | Indicates whether syncing is allowed. | false |
| `Art` | *string* | :heavy_check_mark: | N/A | /:/resources/movie-fanart.jpg | | `Art` | *string* | :heavy_check_mark: | URL for the background artwork of the media container. | /:/resources/show-fanart.jpg |
| `Composite` | *string* | :heavy_check_mark: | N/A | /library/sections/1/composite/1705615584 | | `Composite` | *string* | :heavy_check_mark: | The relative path to the composite media item. | /library/sections/1/composite/1743824484 |
| `Filters` | *bool* | :heavy_check_mark: | N/A | true | | `Filters` | *bool* | :heavy_check_mark: | UNKNOWN | true |
| `Refreshing` | *bool* | :heavy_check_mark: | N/A | false | | `Refreshing` | *bool* | :heavy_check_mark: | Indicates whether the library is currently being refreshed or updated | true |
| `Thumb` | *string* | :heavy_check_mark: | N/A | /:/resources/movie.png | | `Thumb` | *string* | :heavy_check_mark: | URL for the thumbnail image of the media container. | /:/resources/show.png |
| `Key` | *string* | :heavy_check_mark: | N/A | 1 | | `Key` | *string* | :heavy_check_mark: | The library key representing the unique identifier | 1 |
| `Type` | *string* | :heavy_check_mark: | N/A | movie | | `Type` | [operations.GetAllLibrariesType](../../models/operations/getalllibrariestype.md) | :heavy_check_mark: | N/A | movie |
| `Title` | *string* | :heavy_check_mark: | N/A | Movies | | `Title` | *string* | :heavy_check_mark: | The title of the library | Movies |
| `Agent` | *string* | :heavy_check_mark: | N/A | tv.plex.agents.movie | | `Agent` | *string* | :heavy_check_mark: | The Plex agent used to match and retrieve media metadata. | tv.plex.agents.movie |
| `Scanner` | *string* | :heavy_check_mark: | N/A | Plex Movie | | `Scanner` | *string* | :heavy_check_mark: | UNKNOWN | Plex Movie |
| `Language` | *string* | :heavy_check_mark: | N/A | en-US | | `Language` | *string* | :heavy_check_mark: | The Plex library language that has been set | en-US |
| `UUID` | *string* | :heavy_check_mark: | N/A | 322a231a-b7f7-49f5-920f-14c61199cd30 | | `UUID` | *string* | :heavy_check_mark: | The universally unique identifier for the library. | e69655a2-ef48-4aba-bb19-01e7d3cc34d6 |
| `UpdatedAt` | *int64* | :heavy_check_mark: | Unix epoch datetime in seconds | 1556281940 | | `UpdatedAt` | *int64* | :heavy_check_mark: | Unix epoch datetime in seconds | 1556281940 |
| `CreatedAt` | *int64* | :heavy_check_mark: | Unix epoch datetime in seconds | 1556281940 | | `CreatedAt` | **int64* | :heavy_minus_sign: | N/A | 1556281940 |
| `ScannedAt` | *int64* | :heavy_check_mark: | Unix epoch datetime in seconds | 1556281940 | | `ScannedAt` | *int64* | :heavy_check_mark: | Unix epoch datetime in seconds | 1556281940 |
| `Content` | *bool* | :heavy_check_mark: | N/A | true | | `Content` | *bool* | :heavy_check_mark: | UNKNOWN | true |
| `Directory` | *bool* | :heavy_check_mark: | N/A | true | | `Directory` | *bool* | :heavy_check_mark: | UNKNOWN | true |
| `ContentChangedAt` | *int64* | :heavy_check_mark: | Unix epoch datetime in seconds | 1556281940 | | `ContentChangedAt` | *int64* | :heavy_check_mark: | Timestamp (in seconds) representing the last time the content was modified.<br/>NOTE: Some Plex server have some absurd values for this field, like 8457612157633039800 so it should be int64<br/> | 9173960 |
| `Hidden` | *int* | :heavy_check_mark: | N/A | 0 | | `Hidden` | [*operations.Hidden](../../models/operations/hidden.md) | :heavy_minus_sign: | N/A | 1 |
| `Location` | [][operations.GetAllLibrariesLocation](../../models/operations/getalllibrarieslocation.md) | :heavy_check_mark: | N/A | | | `Location` | [][operations.GetAllLibrariesLocation](../../models/operations/getalllibrarieslocation.md) | :heavy_check_mark: | N/A | |

View File

@@ -3,7 +3,7 @@
## Fields ## Fields
| Field | Type | Required | Description | Example | | Field | Type | Required | Description | Example |
| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | | --------------------------- | --------------------------- | --------------------------- | --------------------------- | --------------------------- |
| `ID` | *int* | :heavy_check_mark: | N/A | 1 | | `ID` | *int* | :heavy_check_mark: | The ID of the location. | 1 |
| `Path` | *string* | :heavy_check_mark: | N/A | /movies | | `Path` | *string* | :heavy_check_mark: | The path to the media item. | /Movies |

View File

@@ -5,7 +5,7 @@
| Field | Type | Required | Description | Example | | Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- |
| `Size` | *int* | :heavy_check_mark: | N/A | 5 | | `Size` | *int* | :heavy_check_mark: | Number of media items returned in this response. | 50 |
| `AllowSync` | *bool* | :heavy_check_mark: | N/A | false | | `AllowSync` | *bool* | :heavy_check_mark: | Indicates whether syncing is allowed. | false |
| `Title1` | *string* | :heavy_check_mark: | N/A | Plex Library | | `Title1` | *string* | :heavy_check_mark: | The primary title of the media container. | TV Series |
| `Directory` | [][operations.GetAllLibrariesDirectory](../../models/operations/getalllibrariesdirectory.md) | :heavy_check_mark: | N/A | | | `Directory` | [][operations.GetAllLibrariesDirectory](../../models/operations/getalllibrariesdirectory.md) | :heavy_minus_sign: | N/A | |

View File

@@ -5,6 +5,6 @@ The libraries available on the Server
## Fields ## Fields
| Field | Type | Required | Description | | Field | Type | Required | Description |
| ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- |
| `MediaContainer` | [operations.GetAllLibrariesMediaContainer](../../models/operations/getalllibrariesmediacontainer.md) | :heavy_check_mark: | N/A | | `MediaContainer` | [*operations.GetAllLibrariesMediaContainer](../../models/operations/getalllibrariesmediacontainer.md) | :heavy_minus_sign: | N/A |

View File

@@ -0,0 +1,15 @@
# GetAllLibrariesType
The library type
## Values
| Name | Value |
| ---------------------------- | ---------------------------- |
| `GetAllLibrariesTypeMovie` | movie |
| `GetAllLibrariesTypeTvShow` | show |
| `GetAllLibrariesTypeSeason` | season |
| `GetAllLibrariesTypeEpisode` | episode |
| `GetAllLibrariesTypeArtist` | artist |
| `GetAllLibrariesTypeAlbum` | album |

View File

@@ -3,7 +3,7 @@
## Fields ## Fields
| Field | Type | Required | Description | Example | | Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `IncludeDetails` | [*operations.IncludeDetails](../../models/operations/includedetails.md) | :heavy_minus_sign: | Whether or not to include details for a section (types, filters, and sorts). <br/>Only exists for backwards compatibility, media providers other than the server libraries have it on always.<br/> | | | `IncludeDetails` | [*operations.IncludeDetails](../../models/operations/includedetails.md) | :heavy_minus_sign: | Whether or not to include details for a section (types, filters, and sorts).<br/>Only exists for backwards compatibility, media providers other than the server libraries have it on always.<br/> | |
| `SectionKey` | *int* | :heavy_check_mark: | The unique key of the Plex library. <br/>Note: This is unique in the context of the Plex server.<br/> | 9518 | | `SectionKey` | *int* | :heavy_check_mark: | The unique key of the Plex library. <br/>Note: This is unique in the context of the Plex server.<br/> | 9518 |

View File

@@ -0,0 +1,11 @@
# Hidden
UNKNOWN
## Values
| Name | Value |
| --------------- | --------------- |
| `HiddenDisable` | 0 |
| `HiddenEnable` | 1 |

View File

@@ -1,6 +1,6 @@
# IncludeDetails # 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. Only exists for backwards compatibility, media providers other than the server libraries have it on always.

View File

@@ -1,10 +1,10 @@
# Level # Level
An integer log level to write to the PMS log with. An integer log level to write to the PMS log with.
0: Error 0: Error
1: Warning 1: Warning
2: Info 2: Info
3: Debug 3: Debug
4: Verbose 4: Verbose

View File

@@ -3,8 +3,8 @@
## Fields ## Fields
| Field | Type | Required | Description | Example | | Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- |
| `Level` | [operations.Level](../../models/operations/level.md) | :heavy_check_mark: | An integer log level to write to the PMS log with. <br/>0: Error <br/>1: Warning <br/>2: Info <br/>3: Debug <br/>4: Verbose<br/> | | | `Level` | [operations.Level](../../models/operations/level.md) | :heavy_check_mark: | An integer log level to write to the PMS log with.<br/>0: Error<br/>1: Warning<br/>2: Info<br/>3: Debug<br/>4: Verbose<br/> | |
| `Message` | *string* | :heavy_check_mark: | The text of the message to write to the log. | Test log message | | `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 | | `Source` | *string* | :heavy_check_mark: | a string indicating the source of the message. | Postman |

View File

@@ -1,8 +1,8 @@
# QueryParamForce # QueryParamForce
Force overwriting of duplicate playlists. Force overwriting of duplicate playlists.
By default, a playlist file uploaded with the same path will overwrite the existing playlist. By default, a playlist file uploaded with the same path will overwrite the existing playlist.
The `force` argument is used to disable overwriting. 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. 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.

View File

@@ -3,8 +3,8 @@
## Fields ## Fields
| Field | Type | Required | Description | Example | | Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `Path` | *string* | :heavy_check_mark: | absolute path to a directory on the server where m3u files are stored, or the absolute path to a playlist file on the server. <br/>If the `path` argument is a directory, that path will be scanned for playlist files to be processed. <br/>Each file in that directory creates a separate playlist, with a name based on the filename of the file that created it. <br/>The GUID of each playlist is based on the filename. <br/>If the `path` argument is a file, that file will be used to create a new playlist, with the name based on the filename of the file that created it. <br/>The GUID of each playlist is based on the filename.<br/> | /home/barkley/playlist.m3u | | `Path` | *string* | :heavy_check_mark: | absolute path to a directory on the server where m3u files are stored, or the absolute path to a playlist file on the server.<br/>If the `path` argument is a directory, that path will be scanned for playlist files to be processed.<br/>Each file in that directory creates a separate playlist, with a name based on the filename of the file that created it.<br/>The GUID of each playlist is based on the filename.<br/>If the `path` argument is a file, that file will be used to create a new playlist, with the name based on the filename of the file that created it.<br/>The GUID of each playlist is based on the filename.<br/> | /home/barkley/playlist.m3u |
| `Force` | [operations.QueryParamForce](../../models/operations/queryparamforce.md) | :heavy_check_mark: | Force overwriting of duplicate playlists. <br/>By default, a playlist file uploaded with the same path will overwrite the existing playlist. <br/>The `force` argument is used to disable overwriting. <br/>If the `force` argument is set to 0, a new playlist will be created suffixed with the date and time that the duplicate was uploaded.<br/> | | | `Force` | [operations.QueryParamForce](../../models/operations/queryparamforce.md) | :heavy_check_mark: | Force overwriting of duplicate playlists.<br/>By default, a playlist file uploaded with the same path will overwrite the existing playlist.<br/>The `force` argument is used to disable overwriting.<br/>If the `force` argument is set to 0, a new playlist will be created suffixed with the date and time that the duplicate was uploaded.<br/> | |
| `SectionID` | *int64* | :heavy_check_mark: | Possibly the section ID to upload the playlist to, we are not certain. | 1 | | `SectionID` | *int64* | :heavy_check_mark: | Possibly the section ID to upload the playlist to, we are not certain. | 1 |

View File

@@ -215,14 +215,14 @@ func main() {
## Library Details Endpoint ## 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: The details include:
### Directories ### Directories
Organized into three categories: Organized into three categories:
- **Primary Directories**: - **Primary Directories**:
- Used in some clients for quick access to media subsets (e.g., "All", "On Deck"). - Used in some clients for quick access to media subsets (e.g., "All", "On Deck").
- Most can be replicated via media queries. - Most can be replicated via media queries.
- Customizable by users. - Customizable by users.
@@ -284,12 +284,12 @@ func main() {
### Parameters ### Parameters
| Parameter | Type | Required | Description | Example | | Parameter | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `ctx` | [context.Context](https://pkg.go.dev/context#Context) | :heavy_check_mark: | The context to use for the request. | | | `ctx` | [context.Context](https://pkg.go.dev/context#Context) | :heavy_check_mark: | The context to use for the request. | |
| `sectionKey` | *int* | :heavy_check_mark: | The unique key of the Plex library. <br/>Note: This is unique in the context of the Plex server.<br/> | 9518 | | `sectionKey` | *int* | :heavy_check_mark: | The unique key of the Plex library. <br/>Note: This is unique in the context of the Plex server.<br/> | 9518 |
| `includeDetails` | [*operations.IncludeDetails](../../models/operations/includedetails.md) | :heavy_minus_sign: | Whether or not to include details for a section (types, filters, and sorts). <br/>Only exists for backwards compatibility, media providers other than the server libraries have it on always.<br/> | | | `includeDetails` | [*operations.IncludeDetails](../../models/operations/includedetails.md) | :heavy_minus_sign: | Whether or not to include details for a section (types, filters, and sorts).<br/>Only exists for backwards compatibility, media providers other than the server libraries have it on always.<br/> | |
| `opts` | [][operations.Option](../../models/operations/option.md) | :heavy_minus_sign: | The options for this request. | | | `opts` | [][operations.Option](../../models/operations/option.md) | :heavy_minus_sign: | The options for this request. | |
### Response ### Response

View File

@@ -48,13 +48,13 @@ func main() {
### Parameters ### Parameters
| Parameter | Type | Required | Description | Example | | Parameter | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- |
| `ctx` | [context.Context](https://pkg.go.dev/context#Context) | :heavy_check_mark: | The context to use for the request. | | | `ctx` | [context.Context](https://pkg.go.dev/context#Context) | :heavy_check_mark: | The context to use for the request. | |
| `level` | [operations.Level](../../models/operations/level.md) | :heavy_check_mark: | An integer log level to write to the PMS log with. <br/>0: Error <br/>1: Warning <br/>2: Info <br/>3: Debug <br/>4: Verbose<br/> | | | `level` | [operations.Level](../../models/operations/level.md) | :heavy_check_mark: | An integer log level to write to the PMS log with.<br/>0: Error<br/>1: Warning<br/>2: Info<br/>3: Debug<br/>4: Verbose<br/> | |
| `message` | *string* | :heavy_check_mark: | The text of the message to write to the log. | Test log message | | `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 | | `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. | | | `opts` | [][operations.Option](../../models/operations/option.md) | :heavy_minus_sign: | The options for this request. | |
### Response ### Response
@@ -70,13 +70,13 @@ func main() {
## LogMultiLine ## LogMultiLine
This endpoint allows for the batch addition of log entries to the main Plex Media Server log. 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. 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'. 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`). 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. 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. 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: The 'level' parameter specifies the log entry's severity or importance, with the following integer values:
- `0`: Error - Critical issues that require immediate attention. - `0`: Error - Critical issues that require immediate attention.

View File

@@ -3,9 +3,9 @@
## Overview ## 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. 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. This may cause the duration and number of items to change.
@@ -500,13 +500,13 @@ func main() {
### Parameters ### Parameters
| Parameter | Type | Required | Description | Example | | Parameter | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `ctx` | [context.Context](https://pkg.go.dev/context#Context) | :heavy_check_mark: | The context to use for the request. | | | `ctx` | [context.Context](https://pkg.go.dev/context#Context) | :heavy_check_mark: | The context to use for the request. | |
| `path` | *string* | :heavy_check_mark: | absolute path to a directory on the server where m3u files are stored, or the absolute path to a playlist file on the server. <br/>If the `path` argument is a directory, that path will be scanned for playlist files to be processed. <br/>Each file in that directory creates a separate playlist, with a name based on the filename of the file that created it. <br/>The GUID of each playlist is based on the filename. <br/>If the `path` argument is a file, that file will be used to create a new playlist, with the name based on the filename of the file that created it. <br/>The GUID of each playlist is based on the filename.<br/> | /home/barkley/playlist.m3u | | `path` | *string* | :heavy_check_mark: | absolute path to a directory on the server where m3u files are stored, or the absolute path to a playlist file on the server.<br/>If the `path` argument is a directory, that path will be scanned for playlist files to be processed.<br/>Each file in that directory creates a separate playlist, with a name based on the filename of the file that created it.<br/>The GUID of each playlist is based on the filename.<br/>If the `path` argument is a file, that file will be used to create a new playlist, with the name based on the filename of the file that created it.<br/>The GUID of each playlist is based on the filename.<br/> | /home/barkley/playlist.m3u |
| `force` | [operations.QueryParamForce](../../models/operations/queryparamforce.md) | :heavy_check_mark: | Force overwriting of duplicate playlists. <br/>By default, a playlist file uploaded with the same path will overwrite the existing playlist. <br/>The `force` argument is used to disable overwriting. <br/>If the `force` argument is set to 0, a new playlist will be created suffixed with the date and time that the duplicate was uploaded.<br/> | | | `force` | [operations.QueryParamForce](../../models/operations/queryparamforce.md) | :heavy_check_mark: | Force overwriting of duplicate playlists.<br/>By default, a playlist file uploaded with the same path will overwrite the existing playlist.<br/>The `force` argument is used to disable overwriting.<br/>If the `force` argument is set to 0, a new playlist will be created suffixed with the date and time that the duplicate was uploaded.<br/> | |
| `sectionID` | *int64* | :heavy_check_mark: | Possibly the section ID to upload the playlist to, we are not certain. | 1 | | `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. | | | `opts` | [][operations.Option](../../models/operations/option.md) | :heavy_minus_sign: | The options for this request. | |
### Response ### Response

View File

@@ -186,8 +186,8 @@ func UnmarshalJSON(b []byte, v interface{}, tag reflect.StructTag, topLevel bool
value, ok := unmarhsaled[fieldName] value, ok := unmarhsaled[fieldName]
if !ok { if !ok {
defaultTag := field.Tag.Get("default") defaultTag, defaultOk := field.Tag.Lookup("default")
if defaultTag != "" { if defaultOk {
value = handleDefaultConstValue(defaultTag, fieldVal.Interface(), field.Tag) value = handleDefaultConstValue(defaultTag, fieldVal.Interface(), field.Tag)
ok = true ok = true
} }
@@ -257,8 +257,8 @@ func marshalValue(v interface{}, tag reflect.StructTag) (json.RawMessage, error)
} }
if isNil(reflect.TypeOf(v), reflect.ValueOf(v)) { if isNil(reflect.TypeOf(v), reflect.ValueOf(v)) {
defaultTag := tag.Get("default") defaultTag, ok := tag.Lookup("default")
if defaultTag != "" { if ok {
return handleDefaultConstValue(defaultTag, v, tag), nil return handleDefaultConstValue(defaultTag, v, tag), nil
} }

View File

@@ -20,23 +20,6 @@ const (
func (e CreatePlaylistQueryParamType) ToPointer() *CreatePlaylistQueryParamType { func (e CreatePlaylistQueryParamType) ToPointer() *CreatePlaylistQueryParamType {
return &e 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 // Smart - whether the playlist is smart or not
type Smart int64 type Smart int64

View File

@@ -3,8 +3,6 @@
package operations package operations
import ( import (
"encoding/json"
"fmt"
"net/http" "net/http"
) )
@@ -29,31 +27,6 @@ const (
func (e GetActorsLibraryQueryParamType) ToPointer() *GetActorsLibraryQueryParamType { func (e GetActorsLibraryQueryParamType) ToPointer() *GetActorsLibraryQueryParamType {
return &e 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 { type GetActorsLibraryRequest struct {
// The unique key of the Plex library. // The unique key of the Plex library.

View File

@@ -3,11 +3,59 @@
package operations package operations
import ( import (
"encoding/json"
"fmt"
"github.com/LukeHagar/plexgo/internal/utils"
"net/http" "net/http"
) )
// GetAllLibrariesType - The library type
type GetAllLibrariesType string
const (
GetAllLibrariesTypeMovie GetAllLibrariesType = "movie"
GetAllLibrariesTypeTvShow GetAllLibrariesType = "show"
GetAllLibrariesTypeSeason GetAllLibrariesType = "season"
GetAllLibrariesTypeEpisode GetAllLibrariesType = "episode"
GetAllLibrariesTypeArtist GetAllLibrariesType = "artist"
GetAllLibrariesTypeAlbum GetAllLibrariesType = "album"
)
func (e GetAllLibrariesType) ToPointer() *GetAllLibrariesType {
return &e
}
// Hidden - UNKNOWN
type Hidden int
const (
HiddenDisable Hidden = 0
HiddenEnable Hidden = 1
)
func (e Hidden) ToPointer() *Hidden {
return &e
}
func (e *Hidden) UnmarshalJSON(data []byte) error {
var v int
if err := json.Unmarshal(data, &v); err != nil {
return err
}
switch v {
case 0:
fallthrough
case 1:
*e = Hidden(v)
return nil
default:
return fmt.Errorf("invalid value for Hidden: %v", v)
}
}
type GetAllLibrariesLocation struct { type GetAllLibrariesLocation struct {
ID int `json:"id"` // The ID of the location.
ID int `json:"id"`
// The path to the media item.
Path string `json:"path"` Path string `json:"path"`
} }
@@ -26,33 +74,59 @@ func (o *GetAllLibrariesLocation) GetPath() string {
} }
type GetAllLibrariesDirectory struct { type GetAllLibrariesDirectory struct {
AllowSync bool `json:"allowSync"` // Indicates whether syncing is allowed.
Art string `json:"art"` AllowSync bool `json:"allowSync"`
Composite string `json:"composite"` // URL for the background artwork of the media container.
Filters bool `json:"filters"` Art string `json:"art"`
Refreshing bool `json:"refreshing"` // The relative path to the composite media item.
Thumb string `json:"thumb"` Composite string `json:"composite"`
Key string `json:"key"` // UNKNOWN
Type string `json:"type"` Filters bool `json:"filters"`
Title string `json:"title"` // Indicates whether the library is currently being refreshed or updated
Agent string `json:"agent"` Refreshing bool `json:"refreshing"`
Scanner string `json:"scanner"` // URL for the thumbnail image of the media container.
Language string `json:"language"` Thumb string `json:"thumb"`
UUID string `json:"uuid"` // The library key representing the unique identifier
Key string `json:"key"`
Type GetAllLibrariesType `json:"type"`
// The title of the library
Title string `json:"title"`
// The Plex agent used to match and retrieve media metadata.
Agent string `json:"agent"`
// UNKNOWN
Scanner string `json:"scanner"`
// The Plex library language that has been set
Language string `json:"language"`
// The universally unique identifier for the library.
UUID string `json:"uuid"`
// Unix epoch datetime in seconds // Unix epoch datetime in seconds
UpdatedAt int64 `json:"updatedAt"` UpdatedAt int64 `json:"updatedAt"`
// Unix epoch datetime in seconds CreatedAt *int64 `json:"createdAt,omitempty"`
CreatedAt int64 `json:"createdAt"`
// Unix epoch datetime in seconds // Unix epoch datetime in seconds
ScannedAt int64 `json:"scannedAt"` ScannedAt int64 `json:"scannedAt"`
Content bool `json:"content"` // UNKNOWN
Directory bool `json:"directory"` Content bool `json:"content"`
// Unix epoch datetime in seconds // UNKNOWN
Directory bool `json:"directory"`
// Timestamp (in seconds) representing the last time the content was modified.
// NOTE: Some Plex server have some absurd values for this field, like 8457612157633039800 so it should be int64
//
ContentChangedAt int64 `json:"contentChangedAt"` ContentChangedAt int64 `json:"contentChangedAt"`
Hidden int `json:"hidden"` Hidden *Hidden `default:"0" json:"hidden"`
Location []GetAllLibrariesLocation `json:"Location"` Location []GetAllLibrariesLocation `json:"Location"`
} }
func (g GetAllLibrariesDirectory) MarshalJSON() ([]byte, error) {
return utils.MarshalJSON(g, "", false)
}
func (g *GetAllLibrariesDirectory) UnmarshalJSON(data []byte) error {
if err := utils.UnmarshalJSON(data, &g, "", false, false); err != nil {
return err
}
return nil
}
func (o *GetAllLibrariesDirectory) GetAllowSync() bool { func (o *GetAllLibrariesDirectory) GetAllowSync() bool {
if o == nil { if o == nil {
return false return false
@@ -102,9 +176,9 @@ func (o *GetAllLibrariesDirectory) GetKey() string {
return o.Key return o.Key
} }
func (o *GetAllLibrariesDirectory) GetType() string { func (o *GetAllLibrariesDirectory) GetType() GetAllLibrariesType {
if o == nil { if o == nil {
return "" return GetAllLibrariesType("")
} }
return o.Type return o.Type
} }
@@ -151,9 +225,9 @@ func (o *GetAllLibrariesDirectory) GetUpdatedAt() int64 {
return o.UpdatedAt return o.UpdatedAt
} }
func (o *GetAllLibrariesDirectory) GetCreatedAt() int64 { func (o *GetAllLibrariesDirectory) GetCreatedAt() *int64 {
if o == nil { if o == nil {
return 0 return nil
} }
return o.CreatedAt return o.CreatedAt
} }
@@ -186,9 +260,9 @@ func (o *GetAllLibrariesDirectory) GetContentChangedAt() int64 {
return o.ContentChangedAt return o.ContentChangedAt
} }
func (o *GetAllLibrariesDirectory) GetHidden() int { func (o *GetAllLibrariesDirectory) GetHidden() *Hidden {
if o == nil { if o == nil {
return 0 return nil
} }
return o.Hidden return o.Hidden
} }
@@ -201,10 +275,13 @@ func (o *GetAllLibrariesDirectory) GetLocation() []GetAllLibrariesLocation {
} }
type GetAllLibrariesMediaContainer struct { type GetAllLibrariesMediaContainer struct {
Size int `json:"size"` // Number of media items returned in this response.
AllowSync bool `json:"allowSync"` Size int `json:"size"`
// Indicates whether syncing is allowed.
AllowSync bool `json:"allowSync"`
// The primary title of the media container.
Title1 string `json:"title1"` Title1 string `json:"title1"`
Directory []GetAllLibrariesDirectory `json:"Directory"` Directory []GetAllLibrariesDirectory `json:"Directory,omitempty"`
} }
func (o *GetAllLibrariesMediaContainer) GetSize() int { func (o *GetAllLibrariesMediaContainer) GetSize() int {
@@ -230,19 +307,19 @@ func (o *GetAllLibrariesMediaContainer) GetTitle1() string {
func (o *GetAllLibrariesMediaContainer) GetDirectory() []GetAllLibrariesDirectory { func (o *GetAllLibrariesMediaContainer) GetDirectory() []GetAllLibrariesDirectory {
if o == nil { if o == nil {
return []GetAllLibrariesDirectory{} return nil
} }
return o.Directory return o.Directory
} }
// GetAllLibrariesResponseBody - The libraries available on the Server // GetAllLibrariesResponseBody - The libraries available on the Server
type GetAllLibrariesResponseBody struct { type GetAllLibrariesResponseBody struct {
MediaContainer GetAllLibrariesMediaContainer `json:"MediaContainer"` MediaContainer *GetAllLibrariesMediaContainer `json:"MediaContainer,omitempty"`
} }
func (o *GetAllLibrariesResponseBody) GetMediaContainer() GetAllLibrariesMediaContainer { func (o *GetAllLibrariesResponseBody) GetMediaContainer() *GetAllLibrariesMediaContainer {
if o == nil { if o == nil {
return GetAllLibrariesMediaContainer{} return nil
} }
return o.MediaContainer return o.MediaContainer
} }

View File

@@ -32,31 +32,6 @@ const (
func (e GetAllMediaLibraryQueryParamType) ToPointer() *GetAllMediaLibraryQueryParamType { func (e GetAllMediaLibraryQueryParamType) ToPointer() *GetAllMediaLibraryQueryParamType {
return &e 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 // GetAllMediaLibraryQueryParamIncludeMeta - Adds the Meta object to the response
type GetAllMediaLibraryQueryParamIncludeMeta int type GetAllMediaLibraryQueryParamIncludeMeta int
@@ -660,29 +635,6 @@ const (
func (e GetAllMediaLibraryLibraryType) ToPointer() *GetAllMediaLibraryLibraryType { func (e GetAllMediaLibraryLibraryType) ToPointer() *GetAllMediaLibraryLibraryType {
return &e 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 type GetAllMediaLibraryLibraryResponseType string
@@ -696,25 +648,6 @@ const (
func (e GetAllMediaLibraryLibraryResponseType) ToPointer() *GetAllMediaLibraryLibraryResponseType { func (e GetAllMediaLibraryLibraryResponseType) ToPointer() *GetAllMediaLibraryLibraryResponseType {
return &e 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 { type GetAllMediaLibraryImage struct {
Alt string `json:"alt"` Alt string `json:"alt"`

View File

@@ -3,8 +3,6 @@
package operations package operations
import ( import (
"encoding/json"
"fmt"
"net/http" "net/http"
) )
@@ -29,31 +27,6 @@ const (
func (e GetCountriesLibraryQueryParamType) ToPointer() *GetCountriesLibraryQueryParamType { func (e GetCountriesLibraryQueryParamType) ToPointer() *GetCountriesLibraryQueryParamType {
return &e 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 { type GetCountriesLibraryRequest struct {
// The unique key of the Plex library. // The unique key of the Plex library.

View File

@@ -3,8 +3,6 @@
package operations package operations
import ( import (
"encoding/json"
"fmt"
"net/http" "net/http"
) )
@@ -29,31 +27,6 @@ const (
func (e GetGenresLibraryQueryParamType) ToPointer() *GetGenresLibraryQueryParamType { func (e GetGenresLibraryQueryParamType) ToPointer() *GetGenresLibraryQueryParamType {
return &e 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 { type GetGenresLibraryRequest struct {
// The unique key of the Plex library. // The unique key of the Plex library.

View File

@@ -35,49 +35,6 @@ const (
func (e Tag) ToPointer() *Tag { func (e Tag) ToPointer() *Tag {
return &e 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 // IncludeGuids - Adds the Guids object to the response
type IncludeGuids int type IncludeGuids int
@@ -127,31 +84,6 @@ const (
func (e GetLibraryItemsQueryParamType) ToPointer() *GetLibraryItemsQueryParamType { func (e GetLibraryItemsQueryParamType) ToPointer() *GetLibraryItemsQueryParamType {
return &e 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 // GetLibraryItemsQueryParamIncludeMeta - Adds the Meta object to the response
type GetLibraryItemsQueryParamIncludeMeta int type GetLibraryItemsQueryParamIncludeMeta int
@@ -615,29 +547,6 @@ const (
func (e GetLibraryItemsLibraryType) ToPointer() *GetLibraryItemsLibraryType { func (e GetLibraryItemsLibraryType) ToPointer() *GetLibraryItemsLibraryType {
return &e 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). // FlattenSeasons - Setting that indicates if seasons are set to hidden for the show. (-1 = Library default, 0 = Hide, 1 = Show).
type FlattenSeasons string type FlattenSeasons string
@@ -651,23 +560,6 @@ const (
func (e FlattenSeasons) ToPointer() *FlattenSeasons { func (e FlattenSeasons) ToPointer() *FlattenSeasons {
return &e 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). // EpisodeSort - Setting that indicates how episodes are sorted for the show. (-1 = Library default, 0 = Oldest first, 1 = Newest first).
type EpisodeSort string type EpisodeSort string
@@ -681,23 +573,6 @@ const (
func (e EpisodeSort) ToPointer() *EpisodeSort { func (e EpisodeSort) ToPointer() *EpisodeSort {
return &e 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). // EnableCreditsMarkerGeneration - Setting that indicates if credits markers detection is enabled. (-1 = Library default, 0 = Disabled).
type EnableCreditsMarkerGeneration string type EnableCreditsMarkerGeneration string
@@ -710,21 +585,6 @@ const (
func (e EnableCreditsMarkerGeneration) ToPointer() *EnableCreditsMarkerGeneration { func (e EnableCreditsMarkerGeneration) ToPointer() *EnableCreditsMarkerGeneration {
return &e 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. // ShowOrdering - Setting that indicates the episode ordering for the show.
// None = Library default, // None = Library default,
@@ -745,27 +605,6 @@ const (
func (e ShowOrdering) ToPointer() *ShowOrdering { func (e ShowOrdering) ToPointer() *ShowOrdering {
return &e 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 type GetLibraryItemsOptimizedForStreaming int
@@ -1652,25 +1491,6 @@ const (
func (e GetLibraryItemsLibraryResponse200Type) ToPointer() *GetLibraryItemsLibraryResponse200Type { func (e GetLibraryItemsLibraryResponse200Type) ToPointer() *GetLibraryItemsLibraryResponse200Type {
return &e 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 { type GetLibraryItemsImage struct {
Alt string `json:"alt"` Alt string `json:"alt"`

View File

@@ -3,8 +3,6 @@
package operations package operations
import ( import (
"encoding/json"
"fmt"
"github.com/LukeHagar/plexgo/internal/utils" "github.com/LukeHagar/plexgo/internal/utils"
"github.com/LukeHagar/plexgo/types" "github.com/LukeHagar/plexgo/types"
"net/http" "net/http"
@@ -31,31 +29,6 @@ const (
func (e GetPlaylistContentsQueryParamType) ToPointer() *GetPlaylistContentsQueryParamType { func (e GetPlaylistContentsQueryParamType) ToPointer() *GetPlaylistContentsQueryParamType {
return &e 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 { type GetPlaylistContentsRequest struct {
// the ID of the playlist // the ID of the playlist

View File

@@ -3,8 +3,6 @@
package operations package operations
import ( import (
"encoding/json"
"fmt"
"net/http" "net/http"
) )
@@ -20,23 +18,6 @@ const (
func (e PlaylistType) ToPointer() *PlaylistType { func (e PlaylistType) ToPointer() *PlaylistType {
return &e 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). // QueryParamSmart - type of playlists to return (default is all).
type QueryParamSmart int64 type QueryParamSmart int64
@@ -49,21 +30,6 @@ const (
func (e QueryParamSmart) ToPointer() *QueryParamSmart { func (e QueryParamSmart) ToPointer() *QueryParamSmart {
return &e 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 { type GetPlaylistsRequest struct {
// limit to a type of playlist. // limit to a type of playlist.

View File

@@ -32,31 +32,6 @@ const (
func (e Type) ToPointer() *Type { func (e Type) ToPointer() *Type {
return &e 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 // IncludeMeta - Adds the Meta object to the response
type IncludeMeta int type IncludeMeta int
@@ -537,29 +512,6 @@ const (
func (e GetRecentlyAddedHubsType) ToPointer() *GetRecentlyAddedHubsType { func (e GetRecentlyAddedHubsType) ToPointer() *GetRecentlyAddedHubsType {
return &e 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 type GetRecentlyAddedHubsResponseType string
@@ -573,25 +525,6 @@ const (
func (e GetRecentlyAddedHubsResponseType) ToPointer() *GetRecentlyAddedHubsResponseType { func (e GetRecentlyAddedHubsResponseType) ToPointer() *GetRecentlyAddedHubsResponseType {
return &e 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 { type GetRecentlyAddedImage struct {
Alt string `json:"alt"` Alt string `json:"alt"`

View File

@@ -31,31 +31,6 @@ const (
func (e QueryParamType) ToPointer() *QueryParamType { func (e QueryParamType) ToPointer() *QueryParamType {
return &e 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 // QueryParamIncludeMeta - Adds the Meta object to the response
type QueryParamIncludeMeta int type QueryParamIncludeMeta int

View File

@@ -23,27 +23,6 @@ const (
func (e SearchTypes) ToPointer() *SearchTypes { func (e SearchTypes) ToPointer() *SearchTypes {
return &e 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. // GetSearchAllLibrariesQueryParamIncludeCollections - Whether to include collections in the search results.
type GetSearchAllLibrariesQueryParamIncludeCollections int type GetSearchAllLibrariesQueryParamIncludeCollections int
@@ -183,29 +162,6 @@ const (
func (e GetSearchAllLibrariesType) ToPointer() *GetSearchAllLibrariesType { func (e GetSearchAllLibrariesType) ToPointer() *GetSearchAllLibrariesType {
return &e 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). // GetSearchAllLibrariesFlattenSeasons - Setting that indicates if seasons are set to hidden for the show. (-1 = Library default, 0 = Hide, 1 = Show).
type GetSearchAllLibrariesFlattenSeasons string type GetSearchAllLibrariesFlattenSeasons string
@@ -219,23 +175,6 @@ const (
func (e GetSearchAllLibrariesFlattenSeasons) ToPointer() *GetSearchAllLibrariesFlattenSeasons { func (e GetSearchAllLibrariesFlattenSeasons) ToPointer() *GetSearchAllLibrariesFlattenSeasons {
return &e 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). // GetSearchAllLibrariesEpisodeSort - Setting that indicates how episodes are sorted for the show. (-1 = Library default, 0 = Oldest first, 1 = Newest first).
type GetSearchAllLibrariesEpisodeSort string type GetSearchAllLibrariesEpisodeSort string
@@ -249,23 +188,6 @@ const (
func (e GetSearchAllLibrariesEpisodeSort) ToPointer() *GetSearchAllLibrariesEpisodeSort { func (e GetSearchAllLibrariesEpisodeSort) ToPointer() *GetSearchAllLibrariesEpisodeSort {
return &e 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). // GetSearchAllLibrariesEnableCreditsMarkerGeneration - Setting that indicates if credits markers detection is enabled. (-1 = Library default, 0 = Disabled).
type GetSearchAllLibrariesEnableCreditsMarkerGeneration string type GetSearchAllLibrariesEnableCreditsMarkerGeneration string
@@ -278,21 +200,6 @@ const (
func (e GetSearchAllLibrariesEnableCreditsMarkerGeneration) ToPointer() *GetSearchAllLibrariesEnableCreditsMarkerGeneration { func (e GetSearchAllLibrariesEnableCreditsMarkerGeneration) ToPointer() *GetSearchAllLibrariesEnableCreditsMarkerGeneration {
return &e 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. // GetSearchAllLibrariesShowOrdering - Setting that indicates the episode ordering for the show.
// None = Library default, // None = Library default,
@@ -313,27 +220,6 @@ const (
func (e GetSearchAllLibrariesShowOrdering) ToPointer() *GetSearchAllLibrariesShowOrdering { func (e GetSearchAllLibrariesShowOrdering) ToPointer() *GetSearchAllLibrariesShowOrdering {
return &e 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 type GetSearchAllLibrariesOptimizedForStreaming int
@@ -1220,25 +1106,6 @@ const (
func (e GetSearchAllLibrariesLibraryType) ToPointer() *GetSearchAllLibrariesLibraryType { func (e GetSearchAllLibrariesLibraryType) ToPointer() *GetSearchAllLibrariesLibraryType {
return &e 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 { type GetSearchAllLibrariesImage struct {
Alt string `json:"alt"` Alt string `json:"alt"`

View File

@@ -3,8 +3,6 @@
package operations package operations
import ( import (
"encoding/json"
"fmt"
"net/http" "net/http"
) )
@@ -29,31 +27,6 @@ const (
func (e GetSearchLibraryQueryParamType) ToPointer() *GetSearchLibraryQueryParamType { func (e GetSearchLibraryQueryParamType) ToPointer() *GetSearchLibraryQueryParamType {
return &e 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 { type GetSearchLibraryRequest struct {
// The unique key of the Plex library. // The unique key of the Plex library.

View File

@@ -3,8 +3,6 @@
package operations package operations
import ( import (
"encoding/json"
"fmt"
"net/http" "net/http"
) )
@@ -20,23 +18,6 @@ const (
func (e State) ToPointer() *State { func (e State) ToPointer() *State {
return &e 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 { type GetTimelineRequest struct {
// The rating key of the media item // The rating key of the media item

View File

@@ -24,21 +24,6 @@ const (
func (e MailingListStatus) ToPointer() *MailingListStatus { func (e MailingListStatus) ToPointer() *MailingListStatus {
return &e 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) // AutoSelectSubtitle - The auto-select subtitle mode (0 = Manually selected, 1 = Shown with foreign audio, 2 = Always enabled)
type AutoSelectSubtitle int type AutoSelectSubtitle int
@@ -266,21 +251,6 @@ const (
func (e GetTokenDetailsStatus) ToPointer() *GetTokenDetailsStatus { func (e GetTokenDetailsStatus) ToPointer() *GetTokenDetailsStatus {
return &e 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 { type Services struct {
Identifier string `json:"identifier"` Identifier string `json:"identifier"`
@@ -336,21 +306,6 @@ const (
func (e GetTokenDetailsAuthenticationStatus) ToPointer() *GetTokenDetailsAuthenticationStatus { func (e GetTokenDetailsAuthenticationStatus) ToPointer() *GetTokenDetailsAuthenticationStatus {
return &e 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 accounts Plex Pass subscription is active // Subscription - If the accounts Plex Pass subscription is active
type Subscription struct { type Subscription struct {
@@ -421,21 +376,6 @@ const (
func (e GetTokenDetailsAuthenticationResponseStatus) ToPointer() *GetTokenDetailsAuthenticationResponseStatus { func (e GetTokenDetailsAuthenticationResponseStatus) ToPointer() *GetTokenDetailsAuthenticationResponseStatus {
return &e 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 { type GetTokenDetailsSubscription struct {
// List of features allowed on your Plex Pass subscription // List of features allowed on your Plex Pass subscription

View File

@@ -3,8 +3,6 @@
package operations package operations
import ( import (
"encoding/json"
"fmt"
"github.com/LukeHagar/plexgo/internal/utils" "github.com/LukeHagar/plexgo/internal/utils"
"github.com/LukeHagar/plexgo/types" "github.com/LukeHagar/plexgo/types"
"net/http" "net/http"
@@ -31,31 +29,6 @@ const (
func (e GetTopWatchedContentQueryParamType) ToPointer() *GetTopWatchedContentQueryParamType { func (e GetTopWatchedContentQueryParamType) ToPointer() *GetTopWatchedContentQueryParamType {
return &e 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 { type GetTopWatchedContentRequest struct {
// Adds the Guids object to the response // Adds the Guids object to the response

View File

@@ -3,8 +3,6 @@
package operations package operations
import ( import (
"encoding/json"
"fmt"
"github.com/LukeHagar/plexgo/internal/utils" "github.com/LukeHagar/plexgo/internal/utils"
"net/http" "net/http"
) )
@@ -29,19 +27,6 @@ const (
func (e Status) ToPointer() *Status { func (e Status) ToPointer() *Status {
return &e 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 { type Friend struct {
// The account email address // The account email address

View File

@@ -26,23 +26,6 @@ const (
func (e Filter) ToPointer() *Filter { func (e Filter) ToPointer() *Filter {
return &e 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. // Libtype - The type of library to filter. Can be "movie" or "show", or all if not present.
type Libtype string type Libtype string
@@ -55,21 +38,6 @@ const (
func (e Libtype) ToPointer() *Libtype { func (e Libtype) ToPointer() *Libtype {
return &e 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 // IncludeCollections - include collections in the results
type IncludeCollections int64 type IncludeCollections int64

View File

@@ -3,8 +3,6 @@
package operations package operations
import ( import (
"encoding/json"
"fmt"
"net/http" "net/http"
) )
@@ -27,27 +25,6 @@ const (
func (e Level) ToPointer() *Level { func (e Level) ToPointer() *Level {
return &e 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 { type LogLineRequest struct {
// An integer log level to write to the PMS log with. // An integer log level to write to the PMS log with.

View File

@@ -128,21 +128,6 @@ const (
func (e PostUsersSignInDataMailingListStatus) ToPointer() *PostUsersSignInDataMailingListStatus { func (e PostUsersSignInDataMailingListStatus) ToPointer() *PostUsersSignInDataMailingListStatus {
return &e 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) // PostUsersSignInDataAutoSelectSubtitle - The auto-select subtitle mode (0 = Manually selected, 1 = Shown with foreign audio, 2 = Always enabled)
type PostUsersSignInDataAutoSelectSubtitle int type PostUsersSignInDataAutoSelectSubtitle int
@@ -370,21 +355,6 @@ const (
func (e PostUsersSignInDataStatus) ToPointer() *PostUsersSignInDataStatus { func (e PostUsersSignInDataStatus) ToPointer() *PostUsersSignInDataStatus {
return &e 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 { type PostUsersSignInDataServices struct {
Identifier string `json:"identifier"` Identifier string `json:"identifier"`
@@ -440,21 +410,6 @@ const (
func (e PostUsersSignInDataAuthenticationStatus) ToPointer() *PostUsersSignInDataAuthenticationStatus { func (e PostUsersSignInDataAuthenticationStatus) ToPointer() *PostUsersSignInDataAuthenticationStatus {
return &e 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 accounts Plex Pass subscription is active // PostUsersSignInDataSubscription - If the accounts Plex Pass subscription is active
type PostUsersSignInDataSubscription struct { type PostUsersSignInDataSubscription struct {
@@ -525,21 +480,6 @@ const (
func (e PostUsersSignInDataAuthenticationResponseStatus) ToPointer() *PostUsersSignInDataAuthenticationResponseStatus { func (e PostUsersSignInDataAuthenticationResponseStatus) ToPointer() *PostUsersSignInDataAuthenticationResponseStatus {
return &e 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 { type PostUsersSignInDataAuthenticationSubscription struct {
// List of features allowed on your Plex Pass subscription // List of features allowed on your Plex Pass subscription
@@ -607,19 +547,6 @@ const (
func (e PostUsersSignInDataState) ToPointer() *PostUsersSignInDataState { func (e PostUsersSignInDataState) ToPointer() *PostUsersSignInDataState {
return &e 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 { type InternalPaymentMethod struct {
} }

View File

@@ -3,8 +3,6 @@
package operations package operations
import ( import (
"encoding/json"
"fmt"
"net/http" "net/http"
) )
@@ -31,45 +29,6 @@ const (
func (e TaskName) ToPointer() *TaskName { func (e TaskName) ToPointer() *TaskName {
return &e 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 { type StartTaskRequest struct {
// the name of the task to be started. // the name of the task to be started.

View File

@@ -3,8 +3,6 @@
package operations package operations
import ( import (
"encoding/json"
"fmt"
"net/http" "net/http"
) )
@@ -31,45 +29,6 @@ const (
func (e PathParamTaskName) ToPointer() *PathParamTaskName { func (e PathParamTaskName) ToPointer() *PathParamTaskName {
return &e 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 { type StopTaskRequest struct {
// The name of the task to be started. // The name of the task to be started.

View File

@@ -17,7 +17,7 @@ import (
// ServerList contains the list of servers available to the SDK // ServerList contains the list of servers available to the SDK
var ServerList = []string{ var ServerList = []string{
// The full address of your Plex Server // The full address of your Plex Server
"{protocol}://{ip}:{port}", "https://10.10.10.47:32400",
} }
// HTTPClient provides an interface for suplying the SDK with a custom HTTP client // HTTPClient provides an interface for suplying the SDK with a custom HTTP client
@@ -299,9 +299,9 @@ func New(opts ...SDKOption) *PlexAPI {
sdkConfiguration: sdkConfiguration{ sdkConfiguration: sdkConfiguration{
Language: "go", Language: "go",
OpenAPIDocVersion: "0.0.3", OpenAPIDocVersion: "0.0.3",
SDKVersion: "0.20.0", SDKVersion: "0.21.0",
GenVersion: "2.565.1", GenVersion: "2.585.2",
UserAgent: "speakeasy-sdk/go 0.20.0 2.565.1 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{ ServerDefaults: []map[string]string{
{ {
"protocol": "https", "protocol": "https",