diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index a899f27..48461e7 100755 --- a/.speakeasy/gen.lock +++ b/.speakeasy/gen.lock @@ -1,12 +1,12 @@ lockVersion: 2.0.0 id: dfa99515-01c0-42eb-9be5-ee212fd03eb3 management: - docChecksum: 1e8e82037a237e1d1467721fbd2c7ab0 + docChecksum: 7aba498c024534142941d65a7c2e649c docVersion: 0.0.3 speakeasyVersion: internal generationVersion: 2.237.3 - releaseVersion: 0.1.0 - configChecksum: 73d3c85671a6bde12c0c56fe7e1dc772 + releaseVersion: 0.1.1 + configChecksum: 75ea35f7a212ecc077e24de582ed767e repoURL: https://github.com/LukeHagar/plexgo.git repoSubDirectory: . installationURL: https://github.com/LukeHagar/plexgo @@ -83,8 +83,6 @@ generatedFiles: - /models/operations/deletelibrary.go - /models/operations/getlibraryitems.go - /models/operations/refreshlibrary.go - - /models/operations/getlatestlibraryitems.go - - /models/operations/getcommonlibraryitems.go - /models/operations/getmetadata.go - /models/operations/getmetadatachildren.go - /models/operations/getondeck.go @@ -139,10 +137,7 @@ generatedFiles: - /models/sdkerrors/getlibraries.go - /models/sdkerrors/getlibrary.go - /models/sdkerrors/deletelibrary.go - - /models/sdkerrors/getlibraryitems.go - /models/sdkerrors/refreshlibrary.go - - /models/sdkerrors/getlatestlibraryitems.go - - /models/sdkerrors/getcommonlibraryitems.go - /models/sdkerrors/getmetadata.go - /models/sdkerrors/getmetadatachildren.go - /models/sdkerrors/getondeck.go @@ -182,7 +177,7 @@ generatedFiles: - docs/models/operations/getserverpreferencesresponse.md - docs/models/operations/server.md - docs/models/operations/getavailableclientsmediacontainer.md - - docs/models/operations/responsebody.md + - docs/models/operations/getavailableclientsresponsebody.md - docs/models/operations/getavailableclientsresponse.md - docs/models/operations/device.md - docs/models/operations/getdevicesmediacontainer.md @@ -229,9 +224,25 @@ generatedFiles: - docs/models/operations/stoptaskresponse.md - docs/models/operations/onlytransient.md - docs/models/operations/getglobalhubsrequest.md + - docs/models/operations/getglobalhubsmetadata.md + - docs/models/operations/hub.md + - docs/models/operations/getglobalhubsmediacontainer.md + - docs/models/operations/getglobalhubsresponsebody.md - docs/models/operations/getglobalhubsresponse.md - docs/models/operations/queryparamonlytransient.md - docs/models/operations/getlibraryhubsrequest.md + - docs/models/operations/getlibraryhubspart.md + - docs/models/operations/getlibraryhubsmedia.md + - docs/models/operations/getlibraryhubsgenre.md + - docs/models/operations/getlibraryhubscountry.md + - docs/models/operations/getlibraryhubsdirector.md + - docs/models/operations/getlibraryhubsrole.md + - docs/models/operations/getlibraryhubswriter.md + - docs/types/date.md + - docs/models/operations/getlibraryhubsmetadata.md + - docs/models/operations/getlibraryhubshub.md + - docs/models/operations/getlibraryhubsmediacontainer.md + - docs/models/operations/getlibraryhubsresponsebody.md - docs/models/operations/getlibraryhubsresponse.md - docs/models/operations/performsearchrequest.md - docs/models/operations/performsearchresponse.md @@ -282,22 +293,47 @@ generatedFiles: - docs/models/operations/getlibraryresponse.md - docs/models/operations/deletelibraryrequest.md - docs/models/operations/deletelibraryresponse.md + - docs/models/operations/tag.md - docs/models/operations/getlibraryitemsrequest.md + - docs/models/operations/getlibraryitemspart.md + - docs/models/operations/getlibraryitemsmedia.md + - docs/models/operations/getlibraryitemsgenre.md + - docs/models/operations/getlibraryitemscountry.md + - docs/models/operations/getlibraryitemsdirector.md + - docs/models/operations/getlibraryitemswriter.md + - docs/models/operations/getlibraryitemsrole.md + - docs/models/operations/getlibraryitemsmetadata.md + - docs/models/operations/getlibraryitemsmediacontainer.md + - docs/models/operations/getlibraryitemsresponsebody.md - docs/models/operations/getlibraryitemsresponse.md - docs/models/operations/refreshlibraryrequest.md - docs/models/operations/refreshlibraryresponse.md - - docs/models/operations/getlatestlibraryitemsrequest.md - - docs/models/operations/getlatestlibraryitemsresponse.md - - docs/models/operations/getcommonlibraryitemsrequest.md - - docs/models/operations/getcommonlibraryitemsresponse.md - docs/models/operations/getmetadatarequest.md + - docs/models/operations/stream.md + - docs/models/operations/getmetadatapart.md + - docs/models/operations/getmetadatamedia.md + - docs/models/operations/getmetadatagenre.md + - docs/models/operations/getmetadatacountry.md + - docs/models/operations/guids.md + - docs/models/operations/ratings.md + - docs/models/operations/getmetadatadirector.md + - docs/models/operations/getmetadatawriter.md + - docs/models/operations/getmetadatarole.md + - docs/models/operations/producer.md + - docs/models/operations/getmetadatametadata.md + - docs/models/operations/getmetadatamediacontainer.md + - docs/models/operations/getmetadataresponsebody.md - docs/models/operations/getmetadataresponse.md - docs/models/operations/getmetadatachildrenrequest.md + - docs/models/operations/getmetadatachildrendirectory.md + - docs/models/operations/getmetadatachildrenmetadata.md + - docs/models/operations/getmetadatachildrenmediacontainer.md + - docs/models/operations/getmetadatachildrenresponsebody.md - docs/models/operations/getmetadatachildrenresponse.md - - docs/models/operations/stream.md + - docs/models/operations/getondeckstream.md - docs/models/operations/getondeckpart.md - docs/models/operations/getondeckmedia.md - - docs/models/operations/guids.md + - docs/models/operations/getondeckguids.md - docs/models/operations/getondeckmetadata.md - docs/models/operations/getondeckmediacontainer.md - docs/models/operations/getondeckresponsebody.md @@ -310,22 +346,44 @@ generatedFiles: - docs/models/operations/type.md - docs/models/operations/smart.md - docs/models/operations/createplaylistrequest.md + - docs/models/operations/createplaylistmetadata.md + - docs/models/operations/createplaylistmediacontainer.md + - docs/models/operations/createplaylistresponsebody.md - docs/models/operations/createplaylistresponse.md - docs/models/operations/playlisttype.md - docs/models/operations/queryparamsmart.md - docs/models/operations/getplaylistsrequest.md + - docs/models/operations/getplaylistsmetadata.md + - docs/models/operations/getplaylistsmediacontainer.md + - docs/models/operations/getplaylistsresponsebody.md - docs/models/operations/getplaylistsresponse.md - docs/models/operations/getplaylistrequest.md + - docs/models/operations/getplaylistmetadata.md + - docs/models/operations/getplaylistmediacontainer.md + - docs/models/operations/getplaylistresponsebody.md - docs/models/operations/getplaylistresponse.md - docs/models/operations/deleteplaylistrequest.md - docs/models/operations/deleteplaylistresponse.md - docs/models/operations/updateplaylistrequest.md - docs/models/operations/updateplaylistresponse.md - docs/models/operations/getplaylistcontentsrequest.md + - docs/models/operations/getplaylistcontentspart.md + - docs/models/operations/getplaylistcontentsmedia.md + - docs/models/operations/getplaylistcontentsgenre.md + - docs/models/operations/getplaylistcontentscountry.md + - docs/models/operations/getplaylistcontentsdirector.md + - docs/models/operations/getplaylistcontentswriter.md + - docs/models/operations/getplaylistcontentsrole.md + - docs/models/operations/getplaylistcontentsmetadata.md + - docs/models/operations/getplaylistcontentsmediacontainer.md + - docs/models/operations/getplaylistcontentsresponsebody.md - docs/models/operations/getplaylistcontentsresponse.md - docs/models/operations/clearplaylistcontentsrequest.md - docs/models/operations/clearplaylistcontentsresponse.md - docs/models/operations/addplaylistcontentsrequest.md + - docs/models/operations/addplaylistcontentsmetadata.md + - docs/models/operations/addplaylistcontentsmediacontainer.md + - docs/models/operations/addplaylistcontentsresponsebody.md - docs/models/operations/addplaylistcontentsresponse.md - docs/models/operations/force.md - docs/models/operations/uploadplaylistrequest.md @@ -336,7 +394,19 @@ generatedFiles: - docs/models/operations/gettransienttokenresponse.md - docs/models/operations/getsourceconnectioninformationrequest.md - docs/models/operations/getsourceconnectioninformationresponse.md + - docs/models/operations/getsessionsstream.md + - docs/models/operations/getsessionspart.md + - docs/models/operations/getsessionsmedia.md + - docs/models/operations/user.md + - docs/models/operations/player.md + - docs/models/operations/session.md + - docs/models/operations/getsessionsmetadata.md + - docs/models/operations/getsessionsmediacontainer.md + - docs/models/operations/getsessionsresponsebody.md - docs/models/operations/getsessionsresponse.md + - docs/models/operations/getsessionhistorymetadata.md + - docs/models/operations/getsessionhistorymediacontainer.md + - docs/models/operations/getsessionhistoryresponsebody.md - docs/models/operations/getsessionhistoryresponse.md - docs/models/operations/transcodesession.md - docs/models/operations/gettranscodesessionsmediacontainer.md @@ -344,6 +414,9 @@ generatedFiles: - docs/models/operations/gettranscodesessionsresponse.md - docs/models/operations/stoptranscodesessionrequest.md - docs/models/operations/stoptranscodesessionresponse.md + - docs/models/operations/release.md + - docs/models/operations/getupdatestatusmediacontainer.md + - docs/models/operations/getupdatestatusresponsebody.md - docs/models/operations/getupdatestatusresponse.md - docs/models/operations/download.md - docs/models/operations/checkforupdatesrequest.md @@ -413,14 +486,8 @@ generatedFiles: - docs/models/sdkerrors/getlibraryresponsebody.md - docs/models/sdkerrors/deletelibraryerrors.md - docs/models/sdkerrors/deletelibraryresponsebody.md - - docs/models/sdkerrors/getlibraryitemserrors.md - - docs/models/sdkerrors/getlibraryitemsresponsebody.md - docs/models/sdkerrors/refreshlibraryerrors.md - docs/models/sdkerrors/refreshlibraryresponsebody.md - - docs/models/sdkerrors/getlatestlibraryitemserrors.md - - docs/models/sdkerrors/getlatestlibraryitemsresponsebody.md - - docs/models/sdkerrors/getcommonlibraryitemserrors.md - - docs/models/sdkerrors/getcommonlibraryitemsresponsebody.md - docs/models/sdkerrors/getmetadataerrors.md - docs/models/sdkerrors/getmetadataresponsebody.md - docs/models/sdkerrors/getmetadatachildrenerrors.md diff --git a/README.md b/README.md index 3b4bc8b..eb94726 100644 --- a/README.md +++ b/README.md @@ -102,8 +102,6 @@ func main() { * [DeleteLibrary](docs/sdks/library/README.md#deletelibrary) - Delete Library Section * [GetLibraryItems](docs/sdks/library/README.md#getlibraryitems) - Get Library Items * [RefreshLibrary](docs/sdks/library/README.md#refreshlibrary) - Refresh Library -* [GetLatestLibraryItems](docs/sdks/library/README.md#getlatestlibraryitems) - Get Latest Library Items -* [GetCommonLibraryItems](docs/sdks/library/README.md#getcommonlibraryitems) - Get Common Library Items * [GetMetadata](docs/sdks/library/README.md#getmetadata) - Get Items Metadata * [GetMetadataChildren](docs/sdks/library/README.md#getmetadatachildren) - Get Items Children * [GetOnDeck](docs/sdks/library/README.md#getondeck) - Get On Deck @@ -354,7 +352,27 @@ func main() { ## Special Types +This SDK defines the following custom types to assist with marshalling and unmarshalling data. +### Date + +`types.Date` is a wrapper around time.Time that allows for JSON marshaling a date string formatted as "2006-01-02". + +#### Usage + +```go +d1 := types.NewDate(time.Now()) // returns *types.Date + +d2 := types.DateFromTime(time.Now()) // returns types.Date + +d3, err := types.NewDateFromString("2019-01-01") // returns *types.Date, error + +d4, err := types.DateFromString("2019-01-01") // returns types.Date, error + +d5 := types.MustNewDateFromString("2019-01-01") // returns *types.Date and panics on error + +d6 := types.MustDateFromString("2019-01-01") // returns types.Date and panics on error +``` diff --git a/RELEASES.md b/RELEASES.md index 7072600..b95e406 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -58,4 +58,14 @@ Based on: ### Generated - [go v0.1.0] . ### Releases -- [Go v0.1.0] https://github.com/LukeHagar/plexgo/releases/tag/v0.1.0 - . \ No newline at end of file +- [Go v0.1.0] https://github.com/LukeHagar/plexgo/releases/tag/v0.1.0 - . + +## 2024-01-22 17:16:22 +### Changes +Based on: +- OpenAPI Doc 0.0.3 +- Speakeasy CLI 1.148.0 (2.237.3) https://github.com/speakeasy-api/speakeasy +### Generated +- [go v0.1.1] . +### Releases +- [Go v0.1.1] https://github.com/LukeHagar/plexgo/releases/tag/v0.1.1 - . \ No newline at end of file diff --git a/docs/models/operations/addplaylistcontentsmediacontainer.md b/docs/models/operations/addplaylistcontentsmediacontainer.md new file mode 100644 index 0000000..299ed89 --- /dev/null +++ b/docs/models/operations/addplaylistcontentsmediacontainer.md @@ -0,0 +1,11 @@ +# AddPlaylistContentsMediaContainer + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Size` | **int* | :heavy_minus_sign: | N/A | 1 | +| `LeafCountAdded` | **int* | :heavy_minus_sign: | N/A | 1 | +| `LeafCountRequested` | **int* | :heavy_minus_sign: | N/A | 1 | +| `Metadata` | [][operations.AddPlaylistContentsMetadata](../../models/operations/addplaylistcontentsmetadata.md) | :heavy_minus_sign: | N/A | [{"addedAt":1705716458,"composite":"/playlists/94/composite/1705800070","duration":423000,"guid":"com.plexapp.agents.none://972e3047-83d6-4848-a000-261f0af26ba2","key":"/playlists/94/items","leafCount":3,"playlistType":"video","ratingKey":"94","smart":false,"summary":"One of my great playlists","title":"A great playlist","type":"playlist","updatedAt":1705800070}] | \ No newline at end of file diff --git a/docs/models/operations/addplaylistcontentsmetadata.md b/docs/models/operations/addplaylistcontentsmetadata.md new file mode 100644 index 0000000..5bbc8ba --- /dev/null +++ b/docs/models/operations/addplaylistcontentsmetadata.md @@ -0,0 +1,20 @@ +# AddPlaylistContentsMetadata + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | +| `RatingKey` | **string* | :heavy_minus_sign: | N/A | 94 | +| `Key` | **string* | :heavy_minus_sign: | N/A | /playlists/94/items | +| `GUID` | **string* | :heavy_minus_sign: | N/A | com.plexapp.agents.none://972e3047-83d6-4848-a000-261f0af26ba2 | +| `Type` | **string* | :heavy_minus_sign: | N/A | playlist | +| `Title` | **string* | :heavy_minus_sign: | N/A | A great playlist | +| `Summary` | **string* | :heavy_minus_sign: | N/A | One of my great playlists | +| `Smart` | **bool* | :heavy_minus_sign: | N/A | false | +| `PlaylistType` | **string* | :heavy_minus_sign: | N/A | video | +| `Composite` | **string* | :heavy_minus_sign: | N/A | /playlists/94/composite/1705800070 | +| `Duration` | **int* | :heavy_minus_sign: | N/A | 423000 | +| `LeafCount` | **int* | :heavy_minus_sign: | N/A | 3 | +| `AddedAt` | **int* | :heavy_minus_sign: | N/A | 1705716458 | +| `UpdatedAt` | **int* | :heavy_minus_sign: | N/A | 1705800070 | \ No newline at end of file diff --git a/docs/models/operations/addplaylistcontentsrequest.md b/docs/models/operations/addplaylistcontentsrequest.md index fb18927..36ac0b1 100644 --- a/docs/models/operations/addplaylistcontentsrequest.md +++ b/docs/models/operations/addplaylistcontentsrequest.md @@ -3,8 +3,8 @@ ## Fields -| Field | Type | Required | Description | Example | -| ----------------------------------- | ----------------------------------- | ----------------------------------- | ----------------------------------- | ----------------------------------- | -| `PlaylistID` | *float64* | :heavy_check_mark: | the ID of the playlist | | -| `URI` | *string* | :heavy_check_mark: | the content URI for the playlist | library://.. | -| `PlayQueueID` | *float64* | :heavy_check_mark: | the play queue to add to a playlist | 123 | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | +| `PlaylistID` | *float64* | :heavy_check_mark: | the ID of the playlist | | +| `URI` | *string* | :heavy_check_mark: | the content URI for the playlist | server://12345/com.plexapp.plugins.library/library/metadata/1 | +| `PlayQueueID` | **float64* | :heavy_minus_sign: | the play queue to add to a playlist | 123 | \ No newline at end of file diff --git a/docs/models/operations/addplaylistcontentsresponse.md b/docs/models/operations/addplaylistcontentsresponse.md index 4679ed7..3c73fba 100644 --- a/docs/models/operations/addplaylistcontentsresponse.md +++ b/docs/models/operations/addplaylistcontentsresponse.md @@ -3,8 +3,9 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | -| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | -| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | -| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | \ No newline at end of file +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | +| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `Object` | [*operations.AddPlaylistContentsResponseBody](../../models/operations/addplaylistcontentsresponsebody.md) | :heavy_minus_sign: | Playlist Updated | \ No newline at end of file diff --git a/docs/models/operations/addplaylistcontentsresponsebody.md b/docs/models/operations/addplaylistcontentsresponsebody.md new file mode 100644 index 0000000..361f4dc --- /dev/null +++ b/docs/models/operations/addplaylistcontentsresponsebody.md @@ -0,0 +1,10 @@ +# AddPlaylistContentsResponseBody + +Playlist Updated + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | +| `MediaContainer` | [*operations.AddPlaylistContentsMediaContainer](../../models/operations/addplaylistcontentsmediacontainer.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/operations/createplaylistmediacontainer.md b/docs/models/operations/createplaylistmediacontainer.md new file mode 100644 index 0000000..3e0a5f9 --- /dev/null +++ b/docs/models/operations/createplaylistmediacontainer.md @@ -0,0 +1,9 @@ +# CreatePlaylistMediaContainer + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Size` | **int* | :heavy_minus_sign: | N/A | 7 | +| `Metadata` | [][operations.CreatePlaylistMetadata](../../models/operations/createplaylistmetadata.md) | :heavy_minus_sign: | N/A | [{"addedAt":1705719589,"composite":"/playlists/96/composite/1705724593","duration":141000,"guid":"com.plexapp.agents.none://a2f92937-1408-40e2-b022-63a8a9377e55","icon":"playlist://image.smart","key":"/playlists/96/items","lastViewedAt":1705719589,"leafCount":1,"playlistType":"video","ratingKey":"96","smart":false,"summary":"What a great playlist","title":"A Great Playlist","type":"playlist","updatedAt":1705724593,"viewCount":1}] | \ No newline at end of file diff --git a/docs/models/operations/createplaylistmetadata.md b/docs/models/operations/createplaylistmetadata.md new file mode 100644 index 0000000..1231837 --- /dev/null +++ b/docs/models/operations/createplaylistmetadata.md @@ -0,0 +1,23 @@ +# CreatePlaylistMetadata + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | +| `RatingKey` | **string* | :heavy_minus_sign: | N/A | 96 | +| `Key` | **string* | :heavy_minus_sign: | N/A | /playlists/96/items | +| `GUID` | **string* | :heavy_minus_sign: | N/A | com.plexapp.agents.none://a2f92937-1408-40e2-b022-63a8a9377e55 | +| `Type` | **string* | :heavy_minus_sign: | N/A | playlist | +| `Title` | **string* | :heavy_minus_sign: | N/A | A Great Playlist | +| `Summary` | **string* | :heavy_minus_sign: | N/A | What a great playlist | +| `Smart` | **bool* | :heavy_minus_sign: | N/A | false | +| `PlaylistType` | **string* | :heavy_minus_sign: | N/A | video | +| `Icon` | **string* | :heavy_minus_sign: | N/A | playlist://image.smart | +| `ViewCount` | **int* | :heavy_minus_sign: | N/A | 1 | +| `LastViewedAt` | **int* | :heavy_minus_sign: | N/A | 1705719589 | +| `LeafCount` | **int* | :heavy_minus_sign: | N/A | 1 | +| `AddedAt` | **int* | :heavy_minus_sign: | N/A | 1705719589 | +| `UpdatedAt` | **int* | :heavy_minus_sign: | N/A | 1705724593 | +| `Composite` | **string* | :heavy_minus_sign: | N/A | /playlists/96/composite/1705724593 | +| `Duration` | **int* | :heavy_minus_sign: | N/A | 141000 | \ No newline at end of file diff --git a/docs/models/operations/createplaylistrequest.md b/docs/models/operations/createplaylistrequest.md index 62d9d59..5fbe4d7 100644 --- a/docs/models/operations/createplaylistrequest.md +++ b/docs/models/operations/createplaylistrequest.md @@ -8,5 +8,5 @@ | `Title` | *string* | :heavy_check_mark: | name of the playlist | | `Type` | [operations.Type](../../models/operations/type.md) | :heavy_check_mark: | type of playlist to create | | `Smart` | [operations.Smart](../../models/operations/smart.md) | :heavy_check_mark: | whether the playlist is smart or not | -| `URI` | **string* | :heavy_minus_sign: | the content URI for the playlist | +| `URI` | *string* | :heavy_check_mark: | the content URI for the playlist | | `PlayQueueID` | **float64* | :heavy_minus_sign: | the play queue to copy to a playlist | \ No newline at end of file diff --git a/docs/models/operations/createplaylistresponse.md b/docs/models/operations/createplaylistresponse.md index 356b156..77036e5 100644 --- a/docs/models/operations/createplaylistresponse.md +++ b/docs/models/operations/createplaylistresponse.md @@ -3,8 +3,9 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | -| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | -| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | -| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | \ No newline at end of file +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | +| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `Object` | [*operations.CreatePlaylistResponseBody](../../models/operations/createplaylistresponsebody.md) | :heavy_minus_sign: | returns all playlists | \ No newline at end of file diff --git a/docs/models/operations/createplaylistresponsebody.md b/docs/models/operations/createplaylistresponsebody.md new file mode 100644 index 0000000..345c302 --- /dev/null +++ b/docs/models/operations/createplaylistresponsebody.md @@ -0,0 +1,10 @@ +# CreatePlaylistResponseBody + +returns all playlists + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | +| `MediaContainer` | [*operations.CreatePlaylistMediaContainer](../../models/operations/createplaylistmediacontainer.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/operations/force.md b/docs/models/operations/force.md index 6588b91..e590cea 100644 --- a/docs/models/operations/force.md +++ b/docs/models/operations/force.md @@ -1,7 +1,9 @@ # Force -force overwriting of duplicate playlists. By default, a playlist file uploaded with the same path will overwrite the existing playlist. -The `force` argument is used to disable overwriting. If the `force` argument is set to 0, a new playlist will be created suffixed with the date and time that the duplicate was uploaded. +Force overwriting of duplicate playlists. +By default, a playlist file uploaded with the same path will overwrite the existing playlist. +The `force` argument is used to disable overwriting. +If the `force` argument is set to 0, a new playlist will be created suffixed with the date and time that the duplicate was uploaded. diff --git a/docs/models/operations/getavailableclientsresponse.md b/docs/models/operations/getavailableclientsresponse.md index 7ce46d9..4e89bec 100644 --- a/docs/models/operations/getavailableclientsresponse.md +++ b/docs/models/operations/getavailableclientsresponse.md @@ -3,9 +3,9 @@ ## Fields -| Field | Type | Required | Description | -| -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | -| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | -| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | -| `ResponseBodies` | [][operations.ResponseBody](../../models/operations/responsebody.md) | :heavy_minus_sign: | Available Clients | \ No newline at end of file +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | +| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `Object` | [*operations.GetAvailableClientsResponseBody](../../models/operations/getavailableclientsresponsebody.md) | :heavy_minus_sign: | Available Clients | \ No newline at end of file diff --git a/docs/models/operations/responsebody.md b/docs/models/operations/getavailableclientsresponsebody.md similarity index 96% rename from docs/models/operations/responsebody.md rename to docs/models/operations/getavailableclientsresponsebody.md index 3f24231..4816d76 100644 --- a/docs/models/operations/responsebody.md +++ b/docs/models/operations/getavailableclientsresponsebody.md @@ -1,4 +1,6 @@ -# ResponseBody +# GetAvailableClientsResponseBody + +Available Clients ## Fields diff --git a/docs/models/operations/getcommonlibraryitemsrequest.md b/docs/models/operations/getcommonlibraryitemsrequest.md deleted file mode 100644 index 2015782..0000000 --- a/docs/models/operations/getcommonlibraryitemsrequest.md +++ /dev/null @@ -1,10 +0,0 @@ -# GetCommonLibraryItemsRequest - - -## Fields - -| Field | Type | Required | Description | -| ------------------------------ | ------------------------------ | ------------------------------ | ------------------------------ | -| `SectionID` | *float64* | :heavy_check_mark: | the Id of the library to query | -| `Type` | *float64* | :heavy_check_mark: | item type | -| `Filter` | **string* | :heavy_minus_sign: | the filter parameter | \ No newline at end of file diff --git a/docs/models/operations/getcommonlibraryitemsresponse.md b/docs/models/operations/getcommonlibraryitemsresponse.md deleted file mode 100644 index 80735e7..0000000 --- a/docs/models/operations/getcommonlibraryitemsresponse.md +++ /dev/null @@ -1,10 +0,0 @@ -# GetCommonLibraryItemsResponse - - -## Fields - -| Field | Type | Required | Description | -| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | -| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | -| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | -| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | \ No newline at end of file diff --git a/docs/models/operations/getglobalhubsmediacontainer.md b/docs/models/operations/getglobalhubsmediacontainer.md new file mode 100644 index 0000000..d063020 --- /dev/null +++ b/docs/models/operations/getglobalhubsmediacontainer.md @@ -0,0 +1,11 @@ +# GetGlobalHubsMediaContainer + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Size` | **int* | :heavy_minus_sign: | N/A | 8 | +| `AllowSync` | **bool* | :heavy_minus_sign: | N/A | true | +| `Identifier` | **string* | :heavy_minus_sign: | N/A | com.plexapp.plugins.library | +| `Hub` | [][operations.Hub](../../models/operations/hub.md) | :heavy_minus_sign: | N/A | [{"Metadata":[{"addedAt":1655309388,"composite":"/playlists/50768/composite/1704333758","duration":42864000,"guid":"com.plexapp.agents.none://81658e0d-cd4e-4c73-abb9-832b2ae2037b","icon":"playlist://image.smart","key":"/playlists/50768/items","lastViewedAt":1705329935,"leafCount":178,"playlistType":"audio","ratingKey":"50768","smart":true,"summary":"All your highly rated tracks, in one convenient place.","title":"❤️ Tracks","titleSort":"Tracks","type":"playlist","updatedAt":1704333758,"viewCount":47},{"addedAt":1697993545,"composite":"/playlists/65523/composite/1698597932","duration":4864000,"guid":"com.plexapp.agents.none://1bcdd596-892b-4856-9f28-b4338c439300","key":"/playlists/65523/items","lastViewedAt":1698597949,"leafCount":19,"playlistType":"audio","ratingKey":"65523","smart":false,"summary":"","title":"Car Rides","type":"playlist","updatedAt":1698597932,"viewCount":2},{"addedAt":1679616785,"composite":"/playlists/58188/composite/1680825595","duration":12522000,"guid":"com.plexapp.agents.none://8f0441d3-2a28-4644-a2f1-b7deeb290dff","key":"/playlists/58188/items","lastViewedAt":1680825596,"leafCount":56,"playlistType":"audio","ratingKey":"58188","smart":false,"summary":"","title":"Workout","type":"playlist","updatedAt":1680825595,"viewCount":4},{"addedAt":1673372306,"composite":"/playlists/57341/composite/1673372385","duration":19119000,"guid":"com.plexapp.agents.none://bf8778c3-20a3-4619-8eb0-3c172c18ffd6","key":"/playlists/57341/items","lastViewedAt":1673372306,"leafCount":3,"playlistType":"video","ratingKey":"57341","smart":false,"summary":"","title":"January Movie Day","type":"playlist","updatedAt":1673372385,"viewCount":1},{"addedAt":1671197078,"composite":"/playlists/57302/composite/1671205874","duration":23040000,"guid":"com.plexapp.agents.none://f25064ed-05bb-4bcf-b70c-ed7514b70929","key":"/playlists/57302/items","lastViewedAt":1671206853,"leafCount":3,"playlistType":"video","ratingKey":"57302","smart":false,"summary":"","title":"December Movie Day","type":"playlist","updatedAt":1671205874,"viewCount":2},{"addedAt":1668779618,"composite":"/playlists/57070/composite/1668787730","duration":16873000,"guid":"com.plexapp.agents.none://9fee6c5b-3143-4923-813e-57bd0190056c","key":"/playlists/57070/items","lastViewedAt":1668787732,"leafCount":3,"playlistType":"video","ratingKey":"57070","smart":false,"summary":"","title":"November Movie Day","type":"playlist","updatedAt":1668787730,"viewCount":2}],"context":"hub.home.playlists","hubIdentifier":"home.playlists","hubKey":"/library/metadata/50768,65523,58188,57341,57302,57070","key":"/playlists/all?type=15\u0026sort=lastViewedAt:desc\u0026playlistType=video,audio","more":true,"promoted":true,"size":6,"style":"shelf","title":"Recent Playlists","type":"playlist"}] | \ No newline at end of file diff --git a/docs/models/operations/getglobalhubsmetadata.md b/docs/models/operations/getglobalhubsmetadata.md new file mode 100644 index 0000000..a245c4f --- /dev/null +++ b/docs/models/operations/getglobalhubsmetadata.md @@ -0,0 +1,24 @@ +# GetGlobalHubsMetadata + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | +| `RatingKey` | **string* | :heavy_minus_sign: | N/A | 57070 | +| `Key` | **string* | :heavy_minus_sign: | N/A | /playlists/57070/items | +| `GUID` | **string* | :heavy_minus_sign: | N/A | com.plexapp.agents.none://9fee6c5b-3143-4923-813e-57bd0190056c | +| `Type` | **string* | :heavy_minus_sign: | N/A | playlist | +| `Title` | **string* | :heavy_minus_sign: | N/A | November Movie Day | +| `TitleSort` | **string* | :heavy_minus_sign: | N/A | Tracks | +| `Summary` | **string* | :heavy_minus_sign: | N/A | | +| `Smart` | **bool* | :heavy_minus_sign: | N/A | false | +| `PlaylistType` | **string* | :heavy_minus_sign: | N/A | video | +| `Composite` | **string* | :heavy_minus_sign: | N/A | /playlists/57070/composite/1668787730 | +| `Icon` | **string* | :heavy_minus_sign: | N/A | playlist://image.smart | +| `ViewCount` | **int* | :heavy_minus_sign: | N/A | 2 | +| `LastViewedAt` | **int* | :heavy_minus_sign: | N/A | 1668787732 | +| `Duration` | **int* | :heavy_minus_sign: | N/A | 16873000 | +| `LeafCount` | **int* | :heavy_minus_sign: | N/A | 3 | +| `AddedAt` | **int* | :heavy_minus_sign: | N/A | 1668779618 | +| `UpdatedAt` | **int* | :heavy_minus_sign: | N/A | 1668787730 | \ No newline at end of file diff --git a/docs/models/operations/getglobalhubsresponse.md b/docs/models/operations/getglobalhubsresponse.md index 821f4d1..a087f0a 100644 --- a/docs/models/operations/getglobalhubsresponse.md +++ b/docs/models/operations/getglobalhubsresponse.md @@ -3,8 +3,9 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | -| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | -| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | -| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | \ No newline at end of file +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | +| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `Object` | [*operations.GetGlobalHubsResponseBody](../../models/operations/getglobalhubsresponsebody.md) | :heavy_minus_sign: | returns global hubs | \ No newline at end of file diff --git a/docs/models/operations/getglobalhubsresponsebody.md b/docs/models/operations/getglobalhubsresponsebody.md new file mode 100644 index 0000000..396a0bf --- /dev/null +++ b/docs/models/operations/getglobalhubsresponsebody.md @@ -0,0 +1,10 @@ +# GetGlobalHubsResponseBody + +returns global hubs + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | +| `MediaContainer` | [*operations.GetGlobalHubsMediaContainer](../../models/operations/getglobalhubsmediacontainer.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/operations/getlatestlibraryitemsrequest.md b/docs/models/operations/getlatestlibraryitemsrequest.md deleted file mode 100644 index 139df5c..0000000 --- a/docs/models/operations/getlatestlibraryitemsrequest.md +++ /dev/null @@ -1,10 +0,0 @@ -# GetLatestLibraryItemsRequest - - -## Fields - -| Field | Type | Required | Description | -| ------------------------------ | ------------------------------ | ------------------------------ | ------------------------------ | -| `SectionID` | *float64* | :heavy_check_mark: | the Id of the library to query | -| `Type` | *float64* | :heavy_check_mark: | item type | -| `Filter` | **string* | :heavy_minus_sign: | the filter parameter | \ No newline at end of file diff --git a/docs/models/operations/getlatestlibraryitemsresponse.md b/docs/models/operations/getlatestlibraryitemsresponse.md deleted file mode 100644 index d7463dd..0000000 --- a/docs/models/operations/getlatestlibraryitemsresponse.md +++ /dev/null @@ -1,10 +0,0 @@ -# GetLatestLibraryItemsResponse - - -## Fields - -| Field | Type | Required | Description | -| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | -| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | -| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | -| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | \ No newline at end of file diff --git a/docs/models/operations/getlibraryhubscountry.md b/docs/models/operations/getlibraryhubscountry.md new file mode 100644 index 0000000..b587c84 --- /dev/null +++ b/docs/models/operations/getlibraryhubscountry.md @@ -0,0 +1,8 @@ +# GetLibraryHubsCountry + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------ | ------------------------ | ------------------------ | ------------------------ | ------------------------ | +| `Tag` | **string* | :heavy_minus_sign: | N/A | United States of America | \ No newline at end of file diff --git a/docs/models/operations/getlibraryhubsdirector.md b/docs/models/operations/getlibraryhubsdirector.md new file mode 100644 index 0000000..cf66e24 --- /dev/null +++ b/docs/models/operations/getlibraryhubsdirector.md @@ -0,0 +1,8 @@ +# GetLibraryHubsDirector + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | +| `Tag` | **string* | :heavy_minus_sign: | N/A | Nathan Greno | \ No newline at end of file diff --git a/docs/models/operations/getlibraryhubsgenre.md b/docs/models/operations/getlibraryhubsgenre.md new file mode 100644 index 0000000..7c099c1 --- /dev/null +++ b/docs/models/operations/getlibraryhubsgenre.md @@ -0,0 +1,8 @@ +# GetLibraryHubsGenre + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | +| `Tag` | **string* | :heavy_minus_sign: | N/A | Animation | \ No newline at end of file diff --git a/docs/models/operations/getlibraryhubshub.md b/docs/models/operations/getlibraryhubshub.md new file mode 100644 index 0000000..37fdcb6 --- /dev/null +++ b/docs/models/operations/getlibraryhubshub.md @@ -0,0 +1,19 @@ +# GetLibraryHubsHub + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `Key` | **string* | :heavy_minus_sign: | N/A | /library/sections/1/all?sort=lastViewedAt:desc&unwatched=0&viewOffset=0 | +| `Title` | **string* | :heavy_minus_sign: | N/A | Recently Played Movies | +| `Type` | **string* | :heavy_minus_sign: | N/A | movie | +| `HubIdentifier` | **string* | :heavy_minus_sign: | N/A | movie.recentlyviewed.1 | +| `Context` | **string* | :heavy_minus_sign: | N/A | hub.movie.recentlyviewed | +| `Size` | **int* | :heavy_minus_sign: | N/A | 6 | +| `More` | **bool* | :heavy_minus_sign: | N/A | true | +| `Style` | **string* | :heavy_minus_sign: | N/A | shelf | +| `HubKey` | **string* | :heavy_minus_sign: | N/A | /library/metadata/66485,66098,57249,11449,5858,14944 | +| `Metadata` | [][operations.GetLibraryHubsMetadata](../../models/operations/getlibraryhubsmetadata.md) | :heavy_minus_sign: | N/A | [{"Country":[{"tag":"United States of America"}],"Director":[{"tag":"Byron Howard"},{"tag":"Nathan Greno"}],"Genre":[{"tag":"Comedy"},{"tag":"Animation"}],"Media":[{"Part":[{"audioProfile":"lc","container":"mp4","duration":6017237,"file":"/movies/Tangled (2010)/Tangled (2010) Bluray-1080p.mp4","has64bitOffsets":false,"id":38247,"key":"/library/parts/38247/1589412494/file.mp4","optimizedForStreaming":true,"size":1545647447,"videoProfile":"high"}],"aspectRatio":1.78,"audioChannels":2,"audioCodec":"aac","audioProfile":"lc","bitrate":2051,"container":"mp4","duration":6017237,"has64bitOffsets":false,"height":1080,"id":38247,"optimizedForStreaming":1,"videoCodec":"h264","videoFrameRate":"24p","videoProfile":"high","videoResolution":"1080","width":1920}],"Role":[{"tag":"Mandy Moore"},{"tag":"Zachary Levi"},{"tag":"Donna Murphy"}],"Writer":[{"tag":"Jacob Grimm"},{"tag":"Wilhelm Grimm"}],"addedAt":1589412494,"art":"/library/metadata/14944/art/1705739847","audienceRating":8.7,"audienceRatingImage":"rottentomatoes://image.rating.upright","chapterSource":"media","contentRating":"PG","duration":6017237,"guid":"plex://movie/5d77686eeb5d26001f1eb339","key":"/library/metadata/14944","lastViewedAt":1704936047,"librarySectionID":1,"librarySectionKey":"/library/sections/1","librarySectionTitle":"Movies","originallyAvailableAt":"2010-11-24T00:00:00Z","primaryExtraKey":"/library/metadata/14952","rating":8.9,"ratingImage":"rottentomatoes://image.rating.ripe","ratingKey":"14944","skipCount":1,"studio":"Walt Disney Animation Studios","summary":"The magically long-haired Rapunzel has spent her entire life in a tower, but now that a runaway thief has stumbled upon her, she is about to discover the world for the first time, and who she really is.","tagline":"They're taking adventure to new lengths.","thumb":"/library/metadata/14944/thumb/1705739847","title":"Tangled","type":"movie","updatedAt":1705739847,"viewCount":1,"year":2010}] | +| `Promoted` | **bool* | :heavy_minus_sign: | N/A | true | +| `Random` | **bool* | :heavy_minus_sign: | N/A | true | \ No newline at end of file diff --git a/docs/models/operations/getlibraryhubsmedia.md b/docs/models/operations/getlibraryhubsmedia.md new file mode 100644 index 0000000..c56c848 --- /dev/null +++ b/docs/models/operations/getlibraryhubsmedia.md @@ -0,0 +1,24 @@ +# GetLibraryHubsMedia + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `ID` | **int* | :heavy_minus_sign: | N/A | 38247 | +| `Duration` | **int* | :heavy_minus_sign: | N/A | 6017237 | +| `Bitrate` | **int* | :heavy_minus_sign: | N/A | 2051 | +| `Width` | **int* | :heavy_minus_sign: | N/A | 1920 | +| `Height` | **int* | :heavy_minus_sign: | N/A | 1080 | +| `AspectRatio` | **float64* | :heavy_minus_sign: | N/A | 1.78 | +| `AudioChannels` | **int* | :heavy_minus_sign: | N/A | 2 | +| `AudioCodec` | **string* | :heavy_minus_sign: | N/A | aac | +| `VideoCodec` | **string* | :heavy_minus_sign: | N/A | h264 | +| `VideoResolution` | **string* | :heavy_minus_sign: | N/A | 1080 | +| `Container` | **string* | :heavy_minus_sign: | N/A | mp4 | +| `VideoFrameRate` | **string* | :heavy_minus_sign: | N/A | 24p | +| `OptimizedForStreaming` | **int* | :heavy_minus_sign: | N/A | 1 | +| `AudioProfile` | **string* | :heavy_minus_sign: | N/A | lc | +| `Has64bitOffsets` | **bool* | :heavy_minus_sign: | N/A | false | +| `VideoProfile` | **string* | :heavy_minus_sign: | N/A | high | +| `Part` | [][operations.GetLibraryHubsPart](../../models/operations/getlibraryhubspart.md) | :heavy_minus_sign: | N/A | [{"audioProfile":"lc","container":"mp4","duration":6017237,"file":"/movies/Tangled (2010)/Tangled (2010) Bluray-1080p.mp4","has64bitOffsets":false,"id":38247,"key":"/library/parts/38247/1589412494/file.mp4","optimizedForStreaming":true,"size":1545647447,"videoProfile":"high"}] | \ No newline at end of file diff --git a/docs/models/operations/getlibraryhubsmediacontainer.md b/docs/models/operations/getlibraryhubsmediacontainer.md new file mode 100644 index 0000000..d456da1 --- /dev/null +++ b/docs/models/operations/getlibraryhubsmediacontainer.md @@ -0,0 +1,14 @@ +# GetLibraryHubsMediaContainer + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Size` | **int* | :heavy_minus_sign: | N/A | 7 | +| `AllowSync` | **bool* | :heavy_minus_sign: | N/A | true | +| `Identifier` | **string* | :heavy_minus_sign: | N/A | com.plexapp.plugins.library | +| `LibrarySectionID` | **int* | :heavy_minus_sign: | N/A | 1 | +| `LibrarySectionTitle` | **string* | :heavy_minus_sign: | N/A | Movies | +| `LibrarySectionUUID` | **string* | :heavy_minus_sign: | N/A | 322a231a-b7f7-49f5-920f-14c61199cd30 | +| `Hub` | [][operations.GetLibraryHubsHub](../../models/operations/getlibraryhubshub.md) | :heavy_minus_sign: | N/A | [{"Metadata":[{"Country":[{"tag":"United States of America"}],"Director":[{"tag":"Ceyda Torun"}],"Genre":[{"tag":"Documentary"}],"Media":[{"Part":[{"audioProfile":"lc","container":"mp4","duration":4736174,"file":"/movies/Kedi (2017)/Kedi (2017) 1080p x264.mp4","has64bitOffsets":false,"id":129778,"key":"/library/parts/129778/1702586883/file.mp4","optimizedForStreaming":false,"size":1410810905,"videoProfile":"high"}],"aspectRatio":1.78,"audioChannels":2,"audioCodec":"aac","audioProfile":"lc","bitrate":2377,"container":"mp4","duration":4736174,"has64bitOffsets":false,"height":1080,"id":129531,"optimizedForStreaming":0,"videoCodec":"h264","videoFrameRate":"24p","videoProfile":"high","videoResolution":"1080","width":1920}],"Role":[{"tag":"Bülent Üstün"}],"addedAt":1702586905,"art":"/library/metadata/66485/art/1702586907","audienceRating":8.5,"audienceRatingImage":"rottentomatoes://image.rating.upright","contentRating":"Not Rated","duration":4736174,"guid":"plex://movie/5d776c3251dd69001fe38bb4","key":"/library/metadata/66485","lastViewedAt":1705786111,"librarySectionID":1,"librarySectionKey":"/library/sections/1","librarySectionTitle":"Movies","originallyAvailableAt":"2017-02-10T00:00:00Z","primaryExtraKey":"/library/metadata/66486","rating":9.8,"ratingImage":"rottentomatoes://image.rating.ripe","ratingKey":"66485","studio":"Termite Films","summary":"A profile of an ancient city and its unique people, seen through the eyes of the most mysterious and beloved animal humans have ever known, the Cat.","tagline":"A cat meowing at your feet, looking up at you, is life smiling at you...","thumb":"/library/metadata/66485/thumb/1702586907","title":"Kedi","type":"movie","updatedAt":1702586907,"viewCount":2,"year":2017},{"Country":[{"tag":"United States of America"}],"Director":[{"tag":"Duwayne Dunham"}],"Genre":[{"tag":"Adventure"},{"tag":"Comedy"}],"Media":[{"Part":[{"audioProfile":"lc","container":"mp4","duration":5065775,"file":"/movies/Homeward Bound The Incredible Journey (1993)/Homeward Bound The Incredible Journey (1993) [BluRay] [1080p] [YTS.LT].mp4","has64bitOffsets":false,"id":129250,"key":"/library/parts/129250/1700434864/file.mp4","optimizedForStreaming":true,"size":1550855333,"videoProfile":"high"}],"aspectRatio":1.85,"audioChannels":2,"audioCodec":"aac","audioProfile":"lc","bitrate":2444,"container":"mp4","duration":5065775,"has64bitOffsets":false,"height":1024,"id":129003,"optimizedForStreaming":1,"videoCodec":"h264","videoFrameRate":"24p","videoProfile":"high","videoResolution":"1080","width":1904}],"Role":[{"tag":"Michael J. Fox"},{"tag":"Sally Field"},{"tag":"Don Ameche"}],"Writer":[{"tag":"Caroline Thompson"},{"tag":"Linda Woolverton"}],"addedAt":1700434925,"art":"/library/metadata/66098/art/1703148781","audienceRating":7.1,"audienceRatingImage":"rottentomatoes://image.rating.upright","contentRating":"G","duration":5065775,"guid":"plex://movie/5d9f34f4adeb7a0021ce020f","key":"/library/metadata/66098","lastViewedAt":1705709811,"librarySectionID":1,"librarySectionKey":"/library/sections/1","librarySectionTitle":"Movies","originallyAvailableAt":"1993-02-12T00:00:00Z","primaryExtraKey":"/library/metadata/66099","rating":8.7,"ratingImage":"rottentomatoes://image.rating.ripe","ratingKey":"66098","studio":"Touchwood Pacific Partners 1","summary":"A fun-loving American bulldog pup, a hilarious Himalayan cat, and a wise old golden retriever embark on a long trek through the rugged wilderness of the Sierra Nevada mountains in a quest to reach home and their beloved owners.","tagline":"In the classic tradition of Walt Disney Pictures comes a story about courage, adventure and friendship.","thumb":"/library/metadata/66098/thumb/1703148781","title":"Homeward Bound: The Incredible Journey","type":"movie","updatedAt":1703148781,"viewCount":2,"year":1993},{"Country":[{"tag":"Canada"},{"tag":"Ireland"}],"Director":[{"tag":"Matt Stawski"}],"Genre":[{"tag":"Comedy"},{"tag":"Family"}],"Media":[{"Part":[{"audioProfile":"lc","container":"mkv","duration":4459050,"file":"/movies/Blue's Big City Adventure (2022)/Blues.Big.City.Adventure.2022.2160p.4K.WEB.x265.10bit.AAC5.1-[YTS.MX].mkv","id":115478,"key":"/library/parts/115478/1669671340/file.mkv","size":3560750664,"videoProfile":"main 10"}],"aspectRatio":1.78,"audioChannels":6,"audioCodec":"aac","audioProfile":"lc","bitrate":6384,"container":"mkv","duration":4459050,"height":2160,"id":115470,"videoCodec":"hevc","videoFrameRate":"24p","videoProfile":"main 10","videoResolution":"4k","width":3840}],"Role":[{"tag":"Joshua Dela Cruz"},{"tag":"Steve Burns"},{"tag":"Donovan Patton"}],"Writer":[{"tag":"Traci Paige Johnson"},{"tag":"Todd Kessler"}],"addedAt":1669671356,"art":"/library/metadata/57249/art/1704274800","audienceRating":8.6,"audienceRatingImage":"rottentomatoes://image.rating.upright","contentRating":"TV-Y","duration":4459050,"guid":"plex://movie/60eff7d3e22797002c55c1cc","key":"/library/metadata/57249","lastViewedAt":1705681955,"librarySectionID":1,"librarySectionKey":"/library/sections/1","librarySectionTitle":"Movies","originallyAvailableAt":"2022-11-18T00:00:00Z","primaryExtraKey":"/library/metadata/57250","rating":8.3,"ratingImage":"rottentomatoes://image.rating.ripe","ratingKey":"57249","skipCount":1,"studio":"Nickelodeon Movies","summary":"Josh and Blue skidoo to New York City to audition for Rainbow Puppy's Broadway musical, but they get lost when Josh accidentally left his Handy Dandy Notebook at home. This leads to a game of Blue's Clues to figure out where the audition is. Meanwhile, Tickety Tock and her friends go to New York City to find Josh and Blue and get to the audition with help from Joe and Steve.","tagline":"All They Need is You.","thumb":"/library/metadata/57249/thumb/1704274800","title":"Blue's Big City Adventure","type":"movie","updatedAt":1704274800,"viewCount":8,"year":2022},{"Country":[{"tag":"United States of America"}],"Director":[{"tag":"Dan Scanlon"}],"Genre":[{"tag":"Animation"},{"tag":"Comedy"}],"Media":[{"Part":[{"audioProfile":"ma","container":"mkv","duration":6141428,"file":"/movies/Onward (2020)/Onward (2020) Bluray-1080p.mkv","id":29291,"key":"/library/parts/29291/1589237130/file.mkv","size":8426669232,"videoProfile":"high"}],"aspectRatio":2.35,"audioChannels":8,"audioCodec":"dca-ma","audioProfile":"ma","bitrate":10977,"container":"mkv","duration":6141428,"height":804,"id":29291,"videoCodec":"h264","videoFrameRate":"24p","videoProfile":"high","videoResolution":"1080","width":1920},{"Part":[{"audioProfile":"lc","container":"mp4","duration":6142006,"file":"/movies/Onward (2020)/Onward (2020) WEBRip-1080p.mp4","has64bitOffsets":false,"id":29315,"key":"/library/parts/29315/1629002847/file.mp4","optimizedForStreaming":true,"size":2026154995,"videoProfile":"high"}],"aspectRatio":2.35,"audioChannels":6,"audioCodec":"aac","audioProfile":"lc","bitrate":2639,"container":"mp4","duration":6142006,"has64bitOffsets":false,"height":800,"id":29315,"optimizedForStreaming":1,"videoCodec":"h264","videoFrameRate":"24p","videoProfile":"high","videoResolution":"1080","width":1920}],"Role":[{"tag":"Tom Holland"},{"tag":"Chris Pratt"},{"tag":"Julia Louis-Dreyfus"}],"Writer":[{"tag":"Kelsey Mann"},{"tag":"Dan Scanlon"}],"addedAt":1589237130,"art":"/library/metadata/11449/art/1705224000","audienceRating":9.5,"audienceRatingImage":"rottentomatoes://image.rating.upright","chapterSource":"media","contentRating":"PG","duration":6141428,"guid":"plex://movie/5d776edfad5437001f803cf9","key":"/library/metadata/11449","lastViewedAt":1705543126,"librarySectionID":1,"librarySectionKey":"/library/sections/1","librarySectionTitle":"Movies","originallyAvailableAt":"2020-03-04T00:00:00Z","primaryExtraKey":"/library/metadata/11470","rating":8.8,"ratingImage":"rottentomatoes://image.rating.ripe","ratingKey":"11449","studio":"Walt Disney Pictures","summary":"In a magical world full of technological advances, elven brothers Ian and Barley Lightfoot set out on an adventure to resurrect their late father for a day.","tagline":"Their quest begineth.","thumb":"/library/metadata/11449/thumb/1705224000","title":"Onward","type":"movie","updatedAt":1705224000,"viewCount":3,"year":2020},{"Country":[{"tag":"United States of America"}],"Director":[{"tag":"Chris Buck"},{"tag":"Jennifer Lee"}],"Genre":[{"tag":"Adventure"},{"tag":"Animation"}],"Media":[{"Part":[{"audioProfile":"lc","container":"mp4","duration":6194042,"file":"/movies/Frozen II (2019)/Frozen II (2019) Bluray-1080p.mp4","has64bitOffsets":false,"id":14954,"key":"/library/parts/14954/1588207762/file.mp4","optimizedForStreaming":true,"size":1969230037,"videoProfile":"high"}],"aspectRatio":2.35,"audioChannels":6,"audioCodec":"aac","audioProfile":"lc","bitrate":2538,"container":"mp4","duration":6194042,"has64bitOffsets":false,"height":800,"id":14954,"optimizedForStreaming":1,"videoCodec":"h264","videoFrameRate":"24p","videoProfile":"high","videoResolution":"1080","width":1920},{"Part":[{"audioProfile":"lc","container":"mp4","duration":6244271,"file":"/movies/Frozen II (2019)/Frozen II (2019) WEBRip-1080p.mp4","has64bitOffsets":false,"id":14999,"key":"/library/parts/14999/1629001526/file.mp4","optimizedForStreaming":true,"size":1983357282,"videoProfile":"high"}],"aspectRatio":2.35,"audioChannels":6,"audioCodec":"aac","audioProfile":"lc","bitrate":2536,"container":"mp4","duration":6244271,"has64bitOffsets":false,"height":800,"id":14999,"optimizedForStreaming":1,"videoCodec":"h264","videoFrameRate":"24p","videoProfile":"high","videoResolution":"1080","width":1920}],"Role":[{"tag":"Idina Menzel"},{"tag":"Kristen Bell"},{"tag":"Josh Gad"}],"Writer":[{"tag":"Chris Buck"},{"tag":"Hans Christian Andersen"}],"addedAt":1588207762,"art":"/library/metadata/5858/art/1704621922","audienceRating":9.2,"audienceRatingImage":"rottentomatoes://image.rating.upright","contentRating":"PG","duration":6194042,"guid":"plex://movie/5d776b85594b2b001e6dc641","key":"/library/metadata/5858","lastViewedAt":1705337663,"librarySectionID":1,"librarySectionKey":"/library/sections/1","librarySectionTitle":"Movies","originallyAvailableAt":"2019-11-20T00:00:00Z","primaryExtraKey":"/library/metadata/5892","rating":7.7,"ratingImage":"rottentomatoes://image.rating.ripe","ratingKey":"5858","skipCount":1,"studio":"Walt Disney Pictures","summary":"Anna, Elsa, Kristoff, Olaf and Sven leave Arendelle to travel to an ancient, autumn-bound forest of an enchanted land. They set out to find the origin of Elsa's powers in order to save their kingdom.","tagline":"The past is not what it seems.","thumb":"/library/metadata/5858/thumb/1704621922","title":"Frozen II","type":"movie","updatedAt":1704621922,"viewCount":1,"year":2019},{"Country":[{"tag":"United States of America"}],"Director":[{"tag":"Byron Howard"},{"tag":"Nathan Greno"}],"Genre":[{"tag":"Comedy"},{"tag":"Animation"}],"Media":[{"Part":[{"audioProfile":"lc","container":"mp4","duration":6017237,"file":"/movies/Tangled (2010)/Tangled (2010) Bluray-1080p.mp4","has64bitOffsets":false,"id":38247,"key":"/library/parts/38247/1589412494/file.mp4","optimizedForStreaming":true,"size":1545647447,"videoProfile":"high"}],"aspectRatio":1.78,"audioChannels":2,"audioCodec":"aac","audioProfile":"lc","bitrate":2051,"container":"mp4","duration":6017237,"has64bitOffsets":false,"height":1080,"id":38247,"optimizedForStreaming":1,"videoCodec":"h264","videoFrameRate":"24p","videoProfile":"high","videoResolution":"1080","width":1920}],"Role":[{"tag":"Mandy Moore"},{"tag":"Zachary Levi"},{"tag":"Donna Murphy"}],"Writer":[{"tag":"Jacob Grimm"},{"tag":"Wilhelm Grimm"}],"addedAt":1589412494,"art":"/library/metadata/14944/art/1705739847","audienceRating":8.7,"audienceRatingImage":"rottentomatoes://image.rating.upright","contentRating":"PG","duration":6017237,"guid":"plex://movie/5d77686eeb5d26001f1eb339","key":"/library/metadata/14944","lastViewedAt":1704936047,"librarySectionID":1,"librarySectionKey":"/library/sections/1","librarySectionTitle":"Movies","originallyAvailableAt":"2010-11-24T00:00:00Z","primaryExtraKey":"/library/metadata/14952","rating":8.9,"ratingImage":"rottentomatoes://image.rating.ripe","ratingKey":"14944","studio":"Walt Disney Animation Studios","summary":"The magically long-haired Rapunzel has spent her entire life in a tower, but now that a runaway thief has stumbled upon her, she is about to discover the world for the first time, and who she really is.","tagline":"They're taking adventure to new lengths.","thumb":"/library/metadata/14944/thumb/1705739847","title":"Tangled","type":"movie","updatedAt":1705739847,"viewCount":1,"year":2010}],"context":"hub.movie.recentlyviewed","hubIdentifier":"movie.recentlyviewed.1","hubKey":"/library/metadata/66485,66098,57249,11449,5858,14944","key":"/library/sections/1/all?sort=lastViewedAt:desc\u0026unwatched=0\u0026viewOffset=0","more":true,"promoted":true,"random":true,"size":6,"style":"shelf","title":"Recently Played Movies","type":"movie"}] | \ No newline at end of file diff --git a/docs/models/operations/getlibraryhubsmetadata.md b/docs/models/operations/getlibraryhubsmetadata.md new file mode 100644 index 0000000..b196e1a --- /dev/null +++ b/docs/models/operations/getlibraryhubsmetadata.md @@ -0,0 +1,41 @@ +# GetLibraryHubsMetadata + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `RatingKey` | **string* | :heavy_minus_sign: | N/A | 14944 | +| `Key` | **string* | :heavy_minus_sign: | N/A | /library/metadata/14944 | +| `GUID` | **string* | :heavy_minus_sign: | N/A | plex://movie/5d77686eeb5d26001f1eb339 | +| `Studio` | **string* | :heavy_minus_sign: | N/A | Walt Disney Animation Studios | +| `Type` | **string* | :heavy_minus_sign: | N/A | movie | +| `Title` | **string* | :heavy_minus_sign: | N/A | Tangled | +| `LibrarySectionTitle` | **string* | :heavy_minus_sign: | N/A | Movies | +| `LibrarySectionID` | **int* | :heavy_minus_sign: | N/A | 1 | +| `LibrarySectionKey` | **string* | :heavy_minus_sign: | N/A | /library/sections/1 | +| `ContentRating` | **string* | :heavy_minus_sign: | N/A | PG | +| `Summary` | **string* | :heavy_minus_sign: | N/A | The magically long-haired Rapunzel has spent her entire life in a tower, but now that a runaway thief has stumbled upon her, she is about to discover the world for the first time, and who she really is. | +| `Rating` | **float64* | :heavy_minus_sign: | N/A | 8.9 | +| `AudienceRating` | **float64* | :heavy_minus_sign: | N/A | 8.7 | +| `ViewCount` | **int* | :heavy_minus_sign: | N/A | 1 | +| `LastViewedAt` | **int* | :heavy_minus_sign: | N/A | 1704936047 | +| `Year` | **int* | :heavy_minus_sign: | N/A | 2010 | +| `Tagline` | **string* | :heavy_minus_sign: | N/A | They're taking adventure to new lengths. | +| `Thumb` | **string* | :heavy_minus_sign: | N/A | /library/metadata/14944/thumb/1705739847 | +| `Art` | **string* | :heavy_minus_sign: | N/A | /library/metadata/14944/art/1705739847 | +| `Duration` | **int* | :heavy_minus_sign: | N/A | 6017237 | +| `OriginallyAvailableAt` | [*types.Date](../../types/date.md) | :heavy_minus_sign: | N/A | 2010-11-24 00:00:00 +0000 UTC | +| `AddedAt` | **int* | :heavy_minus_sign: | N/A | 1589412494 | +| `UpdatedAt` | **int* | :heavy_minus_sign: | N/A | 1705739847 | +| `AudienceRatingImage` | **string* | :heavy_minus_sign: | N/A | rottentomatoes://image.rating.upright | +| `PrimaryExtraKey` | **string* | :heavy_minus_sign: | N/A | /library/metadata/14952 | +| `RatingImage` | **string* | :heavy_minus_sign: | N/A | rottentomatoes://image.rating.ripe | +| `Media` | [][operations.GetLibraryHubsMedia](../../models/operations/getlibraryhubsmedia.md) | :heavy_minus_sign: | N/A | [{"Part":[{"audioProfile":"lc","container":"mp4","duration":6017237,"file":"/movies/Tangled (2010)/Tangled (2010) Bluray-1080p.mp4","has64bitOffsets":false,"id":38247,"key":"/library/parts/38247/1589412494/file.mp4","optimizedForStreaming":true,"size":1545647447,"videoProfile":"high"}],"aspectRatio":1.78,"audioChannels":2,"audioCodec":"aac","audioProfile":"lc","bitrate":2051,"container":"mp4","duration":6017237,"has64bitOffsets":false,"height":1080,"id":38247,"optimizedForStreaming":1,"videoCodec":"h264","videoFrameRate":"24p","videoProfile":"high","videoResolution":"1080","width":1920}] | +| `Genre` | [][operations.GetLibraryHubsGenre](../../models/operations/getlibraryhubsgenre.md) | :heavy_minus_sign: | N/A | [{"tag":"Animation"}] | +| `Country` | [][operations.GetLibraryHubsCountry](../../models/operations/getlibraryhubscountry.md) | :heavy_minus_sign: | N/A | [{"tag":"United States of America"}] | +| `Director` | [][operations.GetLibraryHubsDirector](../../models/operations/getlibraryhubsdirector.md) | :heavy_minus_sign: | N/A | [{"tag":"Nathan Greno"}] | +| `Role` | [][operations.GetLibraryHubsRole](../../models/operations/getlibraryhubsrole.md) | :heavy_minus_sign: | N/A | [{"tag":"Donna Murphy"}] | +| `Writer` | [][operations.GetLibraryHubsWriter](../../models/operations/getlibraryhubswriter.md) | :heavy_minus_sign: | N/A | [{"tag":"Wilhelm Grimm"}] | +| `SkipCount` | **int* | :heavy_minus_sign: | N/A | 1 | +| `ChapterSource` | **string* | :heavy_minus_sign: | N/A | media | \ No newline at end of file diff --git a/docs/models/operations/getlibraryhubspart.md b/docs/models/operations/getlibraryhubspart.md new file mode 100644 index 0000000..da15daf --- /dev/null +++ b/docs/models/operations/getlibraryhubspart.md @@ -0,0 +1,17 @@ +# GetLibraryHubsPart + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ | +| `ID` | **int* | :heavy_minus_sign: | N/A | 38247 | +| `Key` | **string* | :heavy_minus_sign: | N/A | /library/parts/38247/1589412494/file.mp4 | +| `Duration` | **int* | :heavy_minus_sign: | N/A | 6017237 | +| `File` | **string* | :heavy_minus_sign: | N/A | /movies/Tangled (2010)/Tangled (2010) Bluray-1080p.mp4 | +| `Size` | **int* | :heavy_minus_sign: | N/A | 1545647447 | +| `AudioProfile` | **string* | :heavy_minus_sign: | N/A | lc | +| `Container` | **string* | :heavy_minus_sign: | N/A | mp4 | +| `Has64bitOffsets` | **bool* | :heavy_minus_sign: | N/A | false | +| `OptimizedForStreaming` | **bool* | :heavy_minus_sign: | N/A | true | +| `VideoProfile` | **string* | :heavy_minus_sign: | N/A | high | \ No newline at end of file diff --git a/docs/models/operations/getlibraryhubsresponse.md b/docs/models/operations/getlibraryhubsresponse.md index 92a0dcc..8c8c62c 100644 --- a/docs/models/operations/getlibraryhubsresponse.md +++ b/docs/models/operations/getlibraryhubsresponse.md @@ -3,8 +3,9 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | -| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | -| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | -| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | \ No newline at end of file +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | +| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `Object` | [*operations.GetLibraryHubsResponseBody](../../models/operations/getlibraryhubsresponsebody.md) | :heavy_minus_sign: | The hubs specific to the library | \ No newline at end of file diff --git a/docs/models/operations/getlibraryhubsresponsebody.md b/docs/models/operations/getlibraryhubsresponsebody.md new file mode 100644 index 0000000..633a5b1 --- /dev/null +++ b/docs/models/operations/getlibraryhubsresponsebody.md @@ -0,0 +1,10 @@ +# GetLibraryHubsResponseBody + +The hubs specific to the library + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | +| `MediaContainer` | [*operations.GetLibraryHubsMediaContainer](../../models/operations/getlibraryhubsmediacontainer.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/operations/getlibraryhubsrole.md b/docs/models/operations/getlibraryhubsrole.md new file mode 100644 index 0000000..3de8c82 --- /dev/null +++ b/docs/models/operations/getlibraryhubsrole.md @@ -0,0 +1,8 @@ +# GetLibraryHubsRole + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | +| `Tag` | **string* | :heavy_minus_sign: | N/A | Donna Murphy | \ No newline at end of file diff --git a/docs/models/operations/getlibraryhubswriter.md b/docs/models/operations/getlibraryhubswriter.md new file mode 100644 index 0000000..86b00eb --- /dev/null +++ b/docs/models/operations/getlibraryhubswriter.md @@ -0,0 +1,8 @@ +# GetLibraryHubsWriter + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | +| `Tag` | **string* | :heavy_minus_sign: | N/A | Wilhelm Grimm | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemscountry.md b/docs/models/operations/getlibraryitemscountry.md new file mode 100644 index 0000000..cc203e0 --- /dev/null +++ b/docs/models/operations/getlibraryitemscountry.md @@ -0,0 +1,8 @@ +# GetLibraryItemsCountry + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------ | ------------------------ | ------------------------ | ------------------------ | ------------------------ | +| `Tag` | **string* | :heavy_minus_sign: | N/A | United States of America | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemsdirector.md b/docs/models/operations/getlibraryitemsdirector.md new file mode 100644 index 0000000..9758317 --- /dev/null +++ b/docs/models/operations/getlibraryitemsdirector.md @@ -0,0 +1,8 @@ +# GetLibraryItemsDirector + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | +| `Tag` | **string* | :heavy_minus_sign: | N/A | James Cameron | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemsgenre.md b/docs/models/operations/getlibraryitemsgenre.md new file mode 100644 index 0000000..73d24ce --- /dev/null +++ b/docs/models/operations/getlibraryitemsgenre.md @@ -0,0 +1,8 @@ +# GetLibraryItemsGenre + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | +| `Tag` | **string* | :heavy_minus_sign: | N/A | Adventure | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemsmedia.md b/docs/models/operations/getlibraryitemsmedia.md new file mode 100644 index 0000000..15bc9c1 --- /dev/null +++ b/docs/models/operations/getlibraryitemsmedia.md @@ -0,0 +1,21 @@ +# GetLibraryItemsMedia + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `ID` | **int* | :heavy_minus_sign: | N/A | 119534 | +| `Duration` | **int* | :heavy_minus_sign: | N/A | 11558112 | +| `Bitrate` | **int* | :heavy_minus_sign: | N/A | 25025 | +| `Width` | **int* | :heavy_minus_sign: | N/A | 3840 | +| `Height` | **int* | :heavy_minus_sign: | N/A | 2072 | +| `AspectRatio` | **float64* | :heavy_minus_sign: | N/A | 1.85 | +| `AudioChannels` | **int* | :heavy_minus_sign: | N/A | 6 | +| `AudioCodec` | **string* | :heavy_minus_sign: | N/A | eac3 | +| `VideoCodec` | **string* | :heavy_minus_sign: | N/A | hevc | +| `VideoResolution` | **string* | :heavy_minus_sign: | N/A | 4k | +| `Container` | **string* | :heavy_minus_sign: | N/A | mkv | +| `VideoFrameRate` | **string* | :heavy_minus_sign: | N/A | 24p | +| `VideoProfile` | **string* | :heavy_minus_sign: | N/A | main 10 | +| `Part` | [][operations.GetLibraryItemsPart](../../models/operations/getlibraryitemspart.md) | :heavy_minus_sign: | N/A | [{"container":"mkv","duration":11558112,"file":"/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv","id":119542,"key":"/library/parts/119542/1680457526/file.mkv","size":36158371307,"videoProfile":"main 10"}] | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemsmediacontainer.md b/docs/models/operations/getlibraryitemsmediacontainer.md new file mode 100644 index 0000000..7ba5f30 --- /dev/null +++ b/docs/models/operations/getlibraryitemsmediacontainer.md @@ -0,0 +1,22 @@ +# GetLibraryItemsMediaContainer + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `Size` | **int* | :heavy_minus_sign: | N/A | 70 | +| `AllowSync` | **bool* | :heavy_minus_sign: | N/A | true | +| `Art` | **string* | :heavy_minus_sign: | N/A | /:/resources/movie-fanart.jpg | +| `Identifier` | **string* | :heavy_minus_sign: | N/A | com.plexapp.plugins.library | +| `LibrarySectionID` | **int* | :heavy_minus_sign: | N/A | 1 | +| `LibrarySectionTitle` | **string* | :heavy_minus_sign: | N/A | Movies | +| `LibrarySectionUUID` | **string* | :heavy_minus_sign: | N/A | 322a231a-b7f7-49f5-920f-14c61199cd30 | +| `MediaTagPrefix` | **string* | :heavy_minus_sign: | N/A | /system/bundle/media/flags/ | +| `MediaTagVersion` | **int* | :heavy_minus_sign: | N/A | 1701731894 | +| `Thumb` | **string* | :heavy_minus_sign: | N/A | /:/resources/movie.png | +| `Title1` | **string* | :heavy_minus_sign: | N/A | Movies | +| `Title2` | **string* | :heavy_minus_sign: | N/A | Recently Released | +| `ViewGroup` | **string* | :heavy_minus_sign: | N/A | movie | +| `ViewMode` | **int* | :heavy_minus_sign: | N/A | 65592 | +| `Metadata` | [][operations.GetLibraryItemsMetadata](../../models/operations/getlibraryitemsmetadata.md) | :heavy_minus_sign: | N/A | [{"Country":[{"tag":"United States of America"}],"Director":[{"tag":"James Cameron"}],"Genre":[{"tag":"Action"},{"tag":"Adventure"}],"Media":[{"Part":[{"container":"mkv","duration":11558112,"file":"/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv","id":119542,"key":"/library/parts/119542/1680457526/file.mkv","size":36158371307,"videoProfile":"main 10"}],"aspectRatio":1.85,"audioChannels":6,"audioCodec":"eac3","bitrate":25025,"container":"mkv","duration":11558112,"height":2072,"id":119534,"videoCodec":"hevc","videoFrameRate":"24p","videoProfile":"main 10","videoResolution":"4k","width":3840}],"Role":[{"tag":"Sam Worthington"},{"tag":"Zoe Saldaña"},{"tag":"Sigourney Weaver"}],"Writer":[{"tag":"Josh Friedman"},{"tag":"James Cameron"}],"addedAt":1680457607,"art":"/library/metadata/58683/art/1703239236","audienceRating":9.2,"audienceRatingImage":"rottentomatoes://image.rating.upright","chapterSource":"media","contentRating":"PG-13","duration":11558112,"guid":"plex://movie/5d7768ba96b655001fdc0408","key":"/library/metadata/58683","lastViewedAt":1682752242,"originalTitle":"映画 ブラッククローバー 魔法帝の剣","originallyAvailableAt":"2022-12-14T00:00:00Z","primaryExtraKey":"/library/metadata/58684","rating":7.6,"ratingImage":"rottentomatoes://image.rating.ripe","ratingKey":"58683","skipCount":1,"studio":"20th Century Studios","summary":"Jake Sully lives with his newfound family formed on the extrasolar moon Pandora. Once a familiar threat returns to finish what was previously started, Jake must work with Neytiri and the army of the Na'vi race to protect their home.","tagline":"Return to Pandora.","thumb":"/library/metadata/58683/thumb/1703239236","title":"Avatar: The Way of Water","titleSort":"Whale","type":"movie","updatedAt":1703239236,"viewCount":1,"viewOffset":5222500,"year":2022}] | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemsmetadata.md b/docs/models/operations/getlibraryitemsmetadata.md new file mode 100644 index 0000000..c709782 --- /dev/null +++ b/docs/models/operations/getlibraryitemsmetadata.md @@ -0,0 +1,41 @@ +# GetLibraryItemsMetadata + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `RatingKey` | **string* | :heavy_minus_sign: | N/A | 58683 | +| `Key` | **string* | :heavy_minus_sign: | N/A | /library/metadata/58683 | +| `GUID` | **string* | :heavy_minus_sign: | N/A | plex://movie/5d7768ba96b655001fdc0408 | +| `Studio` | **string* | :heavy_minus_sign: | N/A | 20th Century Studios | +| `Type` | **string* | :heavy_minus_sign: | N/A | movie | +| `Title` | **string* | :heavy_minus_sign: | N/A | Avatar: The Way of Water | +| `ContentRating` | **string* | :heavy_minus_sign: | N/A | PG-13 | +| `Summary` | **string* | :heavy_minus_sign: | N/A | Jake Sully lives with his newfound family formed on the extrasolar moon Pandora. Once a familiar threat returns to finish what was previously started, Jake must work with Neytiri and the army of the Na'vi race to protect their home. | +| `Rating` | **float64* | :heavy_minus_sign: | N/A | 7.6 | +| `AudienceRating` | **float64* | :heavy_minus_sign: | N/A | 9.2 | +| `Year` | **int* | :heavy_minus_sign: | N/A | 2022 | +| `Tagline` | **string* | :heavy_minus_sign: | N/A | Return to Pandora. | +| `Thumb` | **string* | :heavy_minus_sign: | N/A | /library/metadata/58683/thumb/1703239236 | +| `Art` | **string* | :heavy_minus_sign: | N/A | /library/metadata/58683/art/1703239236 | +| `Duration` | **int* | :heavy_minus_sign: | N/A | 11558112 | +| `OriginallyAvailableAt` | [*types.Date](../../types/date.md) | :heavy_minus_sign: | N/A | 2022-12-14 00:00:00 +0000 UTC | +| `AddedAt` | **int* | :heavy_minus_sign: | N/A | 1680457607 | +| `UpdatedAt` | **int* | :heavy_minus_sign: | N/A | 1703239236 | +| `AudienceRatingImage` | **string* | :heavy_minus_sign: | N/A | rottentomatoes://image.rating.upright | +| `ChapterSource` | **string* | :heavy_minus_sign: | N/A | media | +| `PrimaryExtraKey` | **string* | :heavy_minus_sign: | N/A | /library/metadata/58684 | +| `RatingImage` | **string* | :heavy_minus_sign: | N/A | rottentomatoes://image.rating.ripe | +| `Media` | [][operations.GetLibraryItemsMedia](../../models/operations/getlibraryitemsmedia.md) | :heavy_minus_sign: | N/A | [{"Part":[{"container":"mkv","duration":11558112,"file":"/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv","id":119542,"key":"/library/parts/119542/1680457526/file.mkv","size":36158371307,"videoProfile":"main 10"}],"aspectRatio":1.85,"audioChannels":6,"audioCodec":"eac3","bitrate":25025,"container":"mkv","duration":11558112,"height":2072,"id":119534,"videoCodec":"hevc","videoFrameRate":"24p","videoProfile":"main 10","videoResolution":"4k","width":3840}] | +| `Genre` | [][operations.GetLibraryItemsGenre](../../models/operations/getlibraryitemsgenre.md) | :heavy_minus_sign: | N/A | [{"tag":"Adventure"}] | +| `Country` | [][operations.GetLibraryItemsCountry](../../models/operations/getlibraryitemscountry.md) | :heavy_minus_sign: | N/A | [{"tag":"United States of America"}] | +| `Director` | [][operations.GetLibraryItemsDirector](../../models/operations/getlibraryitemsdirector.md) | :heavy_minus_sign: | N/A | [{"tag":"James Cameron"}] | +| `Writer` | [][operations.GetLibraryItemsWriter](../../models/operations/getlibraryitemswriter.md) | :heavy_minus_sign: | N/A | [{"tag":"James Cameron"}] | +| `Role` | [][operations.GetLibraryItemsRole](../../models/operations/getlibraryitemsrole.md) | :heavy_minus_sign: | N/A | [{"tag":"Sigourney Weaver"}] | +| `TitleSort` | **string* | :heavy_minus_sign: | N/A | Whale | +| `ViewCount` | **int* | :heavy_minus_sign: | N/A | 1 | +| `LastViewedAt` | **int* | :heavy_minus_sign: | N/A | 1682752242 | +| `OriginalTitle` | **string* | :heavy_minus_sign: | N/A | 映画 ブラッククローバー 魔法帝の剣 | +| `ViewOffset` | **int* | :heavy_minus_sign: | N/A | 5222500 | +| `SkipCount` | **int* | :heavy_minus_sign: | N/A | 1 | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemspart.md b/docs/models/operations/getlibraryitemspart.md new file mode 100644 index 0000000..937dbb0 --- /dev/null +++ b/docs/models/operations/getlibraryitemspart.md @@ -0,0 +1,14 @@ +# GetLibraryItemsPart + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | +| `ID` | **int* | :heavy_minus_sign: | N/A | 119542 | +| `Key` | **string* | :heavy_minus_sign: | N/A | /library/parts/119542/1680457526/file.mkv | +| `Duration` | **int* | :heavy_minus_sign: | N/A | 11558112 | +| `File` | **string* | :heavy_minus_sign: | N/A | /movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv | +| `Size` | **int64* | :heavy_minus_sign: | N/A | 36158371307 | +| `Container` | **string* | :heavy_minus_sign: | N/A | mkv | +| `VideoProfile` | **string* | :heavy_minus_sign: | N/A | main 10 | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemsrequest.md b/docs/models/operations/getlibraryitemsrequest.md index e05bf42..6e4c19f 100644 --- a/docs/models/operations/getlibraryitemsrequest.md +++ b/docs/models/operations/getlibraryitemsrequest.md @@ -3,8 +3,7 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------ | ------------------------------ | ------------------------------ | ------------------------------ | -| `SectionID` | *float64* | :heavy_check_mark: | the Id of the library to query | -| `Type` | **float64* | :heavy_minus_sign: | item type | -| `Filter` | **string* | :heavy_minus_sign: | the filter parameter | \ No newline at end of file +| Field | Type | Required | Description | +| ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | +| `SectionID` | *int64* | :heavy_check_mark: | the Id of the library to query | +| `Tag` | [operations.Tag](../../models/operations/tag.md) | :heavy_check_mark: | A key representing a specific tag within the section. | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemsresponse.md b/docs/models/operations/getlibraryitemsresponse.md index 12b7561..bfc4c0e 100644 --- a/docs/models/operations/getlibraryitemsresponse.md +++ b/docs/models/operations/getlibraryitemsresponse.md @@ -3,8 +3,9 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | -| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | -| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | -| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | +| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `Object` | [*operations.GetLibraryItemsResponseBody](../../models/operations/getlibraryitemsresponsebody.md) | :heavy_minus_sign: | The contents of the library by section and tag | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemsresponsebody.md b/docs/models/operations/getlibraryitemsresponsebody.md new file mode 100644 index 0000000..8c8b465 --- /dev/null +++ b/docs/models/operations/getlibraryitemsresponsebody.md @@ -0,0 +1,10 @@ +# GetLibraryItemsResponseBody + +The contents of the library by section and tag + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | +| `MediaContainer` | [*operations.GetLibraryItemsMediaContainer](../../models/operations/getlibraryitemsmediacontainer.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemsrole.md b/docs/models/operations/getlibraryitemsrole.md new file mode 100644 index 0000000..cc85735 --- /dev/null +++ b/docs/models/operations/getlibraryitemsrole.md @@ -0,0 +1,8 @@ +# GetLibraryItemsRole + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | +| `Tag` | **string* | :heavy_minus_sign: | N/A | Sigourney Weaver | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemswriter.md b/docs/models/operations/getlibraryitemswriter.md new file mode 100644 index 0000000..ec0873b --- /dev/null +++ b/docs/models/operations/getlibraryitemswriter.md @@ -0,0 +1,8 @@ +# GetLibraryItemsWriter + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | +| `Tag` | **string* | :heavy_minus_sign: | N/A | James Cameron | \ No newline at end of file diff --git a/docs/models/operations/getmetadatachildrendirectory.md b/docs/models/operations/getmetadatachildrendirectory.md new file mode 100644 index 0000000..1d803d6 --- /dev/null +++ b/docs/models/operations/getmetadatachildrendirectory.md @@ -0,0 +1,12 @@ +# GetMetadataChildrenDirectory + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | +| `LeafCount` | **int* | :heavy_minus_sign: | N/A | 16 | +| `Thumb` | **string* | :heavy_minus_sign: | N/A | /library/metadata/30072/thumb/1705739923 | +| `ViewedLeafCount` | **int* | :heavy_minus_sign: | N/A | 16 | +| `Key` | **string* | :heavy_minus_sign: | N/A | /library/metadata/30072/allLeaves | +| `Title` | **string* | :heavy_minus_sign: | N/A | All episodes | \ No newline at end of file diff --git a/docs/models/operations/getmetadatachildrenmediacontainer.md b/docs/models/operations/getmetadatachildrenmediacontainer.md new file mode 100644 index 0000000..4194874 --- /dev/null +++ b/docs/models/operations/getmetadatachildrenmediacontainer.md @@ -0,0 +1,30 @@ +# GetMetadataChildrenMediaContainer + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Size` | **int* | :heavy_minus_sign: | N/A | 3 | +| `AllowSync` | **bool* | :heavy_minus_sign: | N/A | true | +| `Art` | **string* | :heavy_minus_sign: | N/A | /library/metadata/30072/art/1705739923 | +| `Identifier` | **string* | :heavy_minus_sign: | N/A | com.plexapp.plugins.library | +| `Key` | **string* | :heavy_minus_sign: | N/A | 30072 | +| `LibrarySectionID` | **int* | :heavy_minus_sign: | N/A | 2 | +| `LibrarySectionTitle` | **string* | :heavy_minus_sign: | N/A | TV Shows | +| `LibrarySectionUUID` | **string* | :heavy_minus_sign: | N/A | 4bb2521c-8ba9-459b-aaee-8ab8bc35eabd | +| `MediaTagPrefix` | **string* | :heavy_minus_sign: | N/A | /system/bundle/media/flags/ | +| `MediaTagVersion` | **int* | :heavy_minus_sign: | N/A | 1701731894 | +| `Nocache` | **bool* | :heavy_minus_sign: | N/A | true | +| `ParentIndex` | **int* | :heavy_minus_sign: | N/A | 1 | +| `ParentTitle` | **string* | :heavy_minus_sign: | N/A | Reacher | +| `ParentYear` | **int* | :heavy_minus_sign: | N/A | 2022 | +| `Summary` | **string* | :heavy_minus_sign: | N/A | When retired Military Police Officer Jack Reacher is arrested for a murder he did not commit, he finds himself in the middle of a deadly conspiracy full of dirty cops, shady businessmen, and scheming politicians. With nothing but his wits, he must figure out what is happening in Margrave, Georgia. | +| `Theme` | **string* | :heavy_minus_sign: | N/A | /library/metadata/30072/theme/1705739923 | +| `Thumb` | **string* | :heavy_minus_sign: | N/A | /library/metadata/30072/thumb/1705739923 | +| `Title1` | **string* | :heavy_minus_sign: | N/A | TV Shows | +| `Title2` | **string* | :heavy_minus_sign: | N/A | Reacher | +| `ViewGroup` | **string* | :heavy_minus_sign: | N/A | season | +| `ViewMode` | **int* | :heavy_minus_sign: | N/A | 65593 | +| `Directory` | [][operations.GetMetadataChildrenDirectory](../../models/operations/getmetadatachildrendirectory.md) | :heavy_minus_sign: | N/A | [{"key":"/library/metadata/30072/allLeaves","leafCount":16,"thumb":"/library/metadata/30072/thumb/1705739923","title":"All episodes","viewedLeafCount":16}] | +| `Metadata` | [][operations.GetMetadataChildrenMetadata](../../models/operations/getmetadatachildrenmetadata.md) | :heavy_minus_sign: | N/A | [{"addedAt":1702602021,"art":"/library/metadata/30072/art/1705739923","guid":"plex://season/652aea6549508477c34c6000","index":2,"key":"/library/metadata/66488/children","lastRatedAt":1703881224,"lastViewedAt":1705646565,"leafCount":8,"parentGuid":"plex://show/5d9c09190aaccd001f8f42f0","parentIndex":1,"parentKey":"/library/metadata/30072","parentRatingKey":"30072","parentStudio":"Amazon Studios","parentTheme":"/library/metadata/30072/theme/1705739923","parentThumb":"/library/metadata/30072/thumb/1705739923","parentTitle":"Reacher","parentYear":2022,"ratingKey":"66488","skipCount":1,"summary":"Based on\"Bad Luck and Trouble,\" when members of Reacher's old military unit start turning up dead, Reacher has just one thing on his mind—revenge.","thumb":"/library/metadata/66488/thumb/1703065033","title":"Season 2","type":"season","updatedAt":1703065033,"userRating":9,"viewCount":11,"viewedLeafCount":8}] | \ No newline at end of file diff --git a/docs/models/operations/getmetadatachildrenmetadata.md b/docs/models/operations/getmetadatachildrenmetadata.md new file mode 100644 index 0000000..ad1c214 --- /dev/null +++ b/docs/models/operations/getmetadatachildrenmetadata.md @@ -0,0 +1,34 @@ +# GetMetadataChildrenMetadata + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | +| `RatingKey` | **string* | :heavy_minus_sign: | N/A | 66488 | +| `Key` | **string* | :heavy_minus_sign: | N/A | /library/metadata/66488/children | +| `ParentRatingKey` | **string* | :heavy_minus_sign: | N/A | 30072 | +| `GUID` | **string* | :heavy_minus_sign: | N/A | plex://season/652aea6549508477c34c6000 | +| `ParentGUID` | **string* | :heavy_minus_sign: | N/A | plex://show/5d9c09190aaccd001f8f42f0 | +| `ParentStudio` | **string* | :heavy_minus_sign: | N/A | Amazon Studios | +| `Type` | **string* | :heavy_minus_sign: | N/A | season | +| `Title` | **string* | :heavy_minus_sign: | N/A | Season 2 | +| `ParentKey` | **string* | :heavy_minus_sign: | N/A | /library/metadata/30072 | +| `ParentTitle` | **string* | :heavy_minus_sign: | N/A | Reacher | +| `Summary` | **string* | :heavy_minus_sign: | N/A | Based on"Bad Luck and Trouble," when members of Reacher's old military unit start turning up dead, Reacher has just one thing on his mind—revenge. | +| `Index` | **int* | :heavy_minus_sign: | N/A | 2 | +| `ParentIndex` | **int* | :heavy_minus_sign: | N/A | 1 | +| `ViewCount` | **int* | :heavy_minus_sign: | N/A | 11 | +| `LastViewedAt` | **int* | :heavy_minus_sign: | N/A | 1705646565 | +| `ParentYear` | **int* | :heavy_minus_sign: | N/A | 2022 | +| `Thumb` | **string* | :heavy_minus_sign: | N/A | /library/metadata/66488/thumb/1703065033 | +| `Art` | **string* | :heavy_minus_sign: | N/A | /library/metadata/30072/art/1705739923 | +| `ParentThumb` | **string* | :heavy_minus_sign: | N/A | /library/metadata/30072/thumb/1705739923 | +| `ParentTheme` | **string* | :heavy_minus_sign: | N/A | /library/metadata/30072/theme/1705739923 | +| `LeafCount` | **int* | :heavy_minus_sign: | N/A | 8 | +| `ViewedLeafCount` | **int* | :heavy_minus_sign: | N/A | 8 | +| `AddedAt` | **int* | :heavy_minus_sign: | N/A | 1702602021 | +| `UpdatedAt` | **int* | :heavy_minus_sign: | N/A | 1703065033 | +| `UserRating` | **int* | :heavy_minus_sign: | N/A | 9 | +| `SkipCount` | **int* | :heavy_minus_sign: | N/A | 1 | +| `LastRatedAt` | **int* | :heavy_minus_sign: | N/A | 1703881224 | \ No newline at end of file diff --git a/docs/models/operations/getmetadatachildrenresponse.md b/docs/models/operations/getmetadatachildrenresponse.md index 09dd250..e53a171 100644 --- a/docs/models/operations/getmetadatachildrenresponse.md +++ b/docs/models/operations/getmetadatachildrenresponse.md @@ -3,8 +3,9 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | -| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | -| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | -| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | \ No newline at end of file +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | +| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `Object` | [*operations.GetMetadataChildrenResponseBody](../../models/operations/getmetadatachildrenresponsebody.md) | :heavy_minus_sign: | The children of the library item. | \ No newline at end of file diff --git a/docs/models/operations/getmetadatachildrenresponsebody.md b/docs/models/operations/getmetadatachildrenresponsebody.md new file mode 100644 index 0000000..897dc4e --- /dev/null +++ b/docs/models/operations/getmetadatachildrenresponsebody.md @@ -0,0 +1,10 @@ +# GetMetadataChildrenResponseBody + +The children of the library item. + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | +| `MediaContainer` | [*operations.GetMetadataChildrenMediaContainer](../../models/operations/getmetadatachildrenmediacontainer.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/operations/getmetadatacountry.md b/docs/models/operations/getmetadatacountry.md new file mode 100644 index 0000000..30cd3cb --- /dev/null +++ b/docs/models/operations/getmetadatacountry.md @@ -0,0 +1,10 @@ +# GetMetadataCountry + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------ | ------------------------ | ------------------------ | ------------------------ | ------------------------ | +| `ID` | **int* | :heavy_minus_sign: | N/A | 116 | +| `Filter` | **string* | :heavy_minus_sign: | N/A | country=116 | +| `Tag` | **string* | :heavy_minus_sign: | N/A | United States of America | \ No newline at end of file diff --git a/docs/models/operations/getmetadatadirector.md b/docs/models/operations/getmetadatadirector.md new file mode 100644 index 0000000..cf47e9f --- /dev/null +++ b/docs/models/operations/getmetadatadirector.md @@ -0,0 +1,12 @@ +# GetMetadataDirector + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | +| `ID` | **int* | :heavy_minus_sign: | N/A | 130 | +| `Filter` | **string* | :heavy_minus_sign: | N/A | director=130 | +| `Tag` | **string* | :heavy_minus_sign: | N/A | Joss Whedon | +| `TagKey` | **string* | :heavy_minus_sign: | N/A | 5d776828880197001ec90e8f | +| `Thumb` | **string* | :heavy_minus_sign: | N/A | https://metadata-static.plex.tv/people/5d776828880197001ec90e8f.jpg | \ No newline at end of file diff --git a/docs/models/operations/getmetadatagenre.md b/docs/models/operations/getmetadatagenre.md new file mode 100644 index 0000000..20e5f2b --- /dev/null +++ b/docs/models/operations/getmetadatagenre.md @@ -0,0 +1,10 @@ +# GetMetadataGenre + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | +| `ID` | **int* | :heavy_minus_sign: | N/A | 184 | +| `Filter` | **string* | :heavy_minus_sign: | N/A | genre=184 | +| `Tag` | **string* | :heavy_minus_sign: | N/A | Thriller | \ No newline at end of file diff --git a/docs/models/operations/getmetadatamedia.md b/docs/models/operations/getmetadatamedia.md new file mode 100644 index 0000000..d0fced7 --- /dev/null +++ b/docs/models/operations/getmetadatamedia.md @@ -0,0 +1,24 @@ +# GetMetadataMedia + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `ID` | **int* | :heavy_minus_sign: | N/A | 15 | +| `Duration` | **int* | :heavy_minus_sign: | N/A | 141417 | +| `Bitrate` | **int* | :heavy_minus_sign: | N/A | 2278 | +| `Width` | **int* | :heavy_minus_sign: | N/A | 1920 | +| `Height` | **int* | :heavy_minus_sign: | N/A | 814 | +| `AspectRatio` | **float64* | :heavy_minus_sign: | N/A | 2.35 | +| `AudioChannels` | **int* | :heavy_minus_sign: | N/A | 2 | +| `AudioCodec` | **string* | :heavy_minus_sign: | N/A | aac | +| `VideoCodec` | **string* | :heavy_minus_sign: | N/A | h264 | +| `VideoResolution` | **string* | :heavy_minus_sign: | N/A | 1080 | +| `Container` | **string* | :heavy_minus_sign: | N/A | mp4 | +| `VideoFrameRate` | **string* | :heavy_minus_sign: | N/A | 24p | +| `OptimizedForStreaming` | **int* | :heavy_minus_sign: | N/A | 0 | +| `AudioProfile` | **string* | :heavy_minus_sign: | N/A | lc | +| `Has64bitOffsets` | **bool* | :heavy_minus_sign: | N/A | false | +| `VideoProfile` | **string* | :heavy_minus_sign: | N/A | high | +| `Part` | [][operations.GetMetadataPart](../../models/operations/getmetadatapart.md) | :heavy_minus_sign: | N/A | [{"Stream":[{"bitDepth":8,"bitrate":2160,"chromaLocation":"left","chromaSubsampling":14520,"codec":"h264","codedHeight":816,"codedWidth":1920,"colorPrimaries":"bt709","colorRange":"tv","colorSpace":"bt709","colorTrc":"bt709","default":true,"displayTitle":"1080p (H.264)","extendedDisplayTitle":"1080p (H.264)","frameRate":24,"hasScalingMatrix":false,"height":814,"id":30,"index":1,"level":40,"profile":"high","refFrames":4,"scanType":"progressive","streamIdentifier":"2","streamType":1,"width":1920},{"bitrate":128,"channels":2,"codec":"aac","default":true,"displayTitle":"English (AAC Stereo)","extendedDisplayTitle":"English (AAC Stereo)","id":29,"index":0,"language":"English","languageCode":"eng","languageTag":"en","profile":"lc","samplingRate":44100,"selected":true,"streamIdentifier":"1","streamType":2}],"audioProfile":"lc","container":"mp4","duration":141417,"file":"/movies/Serenity (2005)/Serenity (2005).mp4","has64bitOffsets":false,"id":15,"key":"/library/parts/15/1705637151/file.mp4","optimizedForStreaming":false,"size":40271948,"videoProfile":"high"}] | \ No newline at end of file diff --git a/docs/models/operations/getmetadatamediacontainer.md b/docs/models/operations/getmetadatamediacontainer.md new file mode 100644 index 0000000..36f0c19 --- /dev/null +++ b/docs/models/operations/getmetadatamediacontainer.md @@ -0,0 +1,16 @@ +# GetMetadataMediaContainer + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Size` | **int* | :heavy_minus_sign: | N/A | 1 | +| `AllowSync` | **bool* | :heavy_minus_sign: | N/A | true | +| `Identifier` | **string* | :heavy_minus_sign: | N/A | com.plexapp.plugins.library | +| `LibrarySectionID` | **int* | :heavy_minus_sign: | N/A | 1 | +| `LibrarySectionTitle` | **string* | :heavy_minus_sign: | N/A | Movies | +| `LibrarySectionUUID` | **string* | :heavy_minus_sign: | N/A | cfc899d7-3000-46f6-8489-b9592714ada5 | +| `MediaTagPrefix` | **string* | :heavy_minus_sign: | N/A | /system/bundle/media/flags/ | +| `MediaTagVersion` | **int* | :heavy_minus_sign: | N/A | 1698860922 | +| `Metadata` | [][operations.GetMetadataMetadata](../../models/operations/getmetadatametadata.md) | :heavy_minus_sign: | N/A | [{"Country":[{"filter":"country=116","id":116,"tag":"United States of America"}],"Director":[{"filter":"director=130","id":130,"tag":"Joss Whedon","tagKey":"5d776828880197001ec90e8f","thumb":"https://metadata-static.plex.tv/people/5d776828880197001ec90e8f.jpg"}],"Genre":[{"filter":"genre=5","id":5,"tag":"Science Fiction"}],"Guid":[{"id":"imdb://tt0379786"}],"Media":[{"Part":[{"Stream":[{"bitDepth":8,"bitrate":2160,"chromaLocation":"left","chromaSubsampling":14520,"codec":"h264","codedHeight":816,"codedWidth":1920,"colorPrimaries":"bt709","colorRange":"tv","colorSpace":"bt709","colorTrc":"bt709","default":true,"displayTitle":"1080p (H.264)","extendedDisplayTitle":"1080p (H.264)","frameRate":24,"hasScalingMatrix":false,"height":814,"id":30,"index":1,"level":40,"profile":"high","refFrames":4,"scanType":"progressive","streamIdentifier":"2","streamType":1,"width":1920},{"bitrate":128,"channels":2,"codec":"aac","default":true,"displayTitle":"English (AAC Stereo)","extendedDisplayTitle":"English (AAC Stereo)","id":29,"index":0,"language":"English","languageCode":"eng","languageTag":"en","profile":"lc","samplingRate":44100,"selected":true,"streamIdentifier":"1","streamType":2}],"audioProfile":"lc","container":"mp4","duration":141417,"file":"/movies/Serenity (2005)/Serenity (2005).mp4","has64bitOffsets":false,"id":15,"key":"/library/parts/15/1705637151/file.mp4","optimizedForStreaming":false,"size":40271948,"videoProfile":"high"}],"aspectRatio":2.35,"audioChannels":2,"audioCodec":"aac","audioProfile":"lc","bitrate":2278,"container":"mp4","duration":141417,"has64bitOffsets":false,"height":814,"id":15,"optimizedForStreaming":0,"videoCodec":"h264","videoFrameRate":"24p","videoProfile":"high","videoResolution":"1080","width":1920}],"Producer":[{"filter":"producer=221","id":221,"tag":"Barry Mendel","tagKey":"5d776826961905001eb90e2b","thumb":"https://metadata-static.plex.tv/8/people/87877371326a964634d18556d94547e1.jpg"}],"Rating":[{"image":"imdb://image.rating","type":"audience","value":7.8}],"Role":[{"filter":"actor=8","id":8,"role":"Malcolm \"Mal\" Reynolds","tag":"Nathan Fillion","tagKey":"5d7768286f4521001ea9945c","thumb":"https://metadata-static.plex.tv/4/people/4a2890ca346eb832500b1ed0add89d5e.jpg"}],"Writer":[{"filter":"writer=132","id":132,"tag":"Joss Whedon","tagKey":"5d776828880197001ec90e8f","thumb":"https://metadata-static.plex.tv/people/5d776828880197001ec90e8f.jpg"}],"addedAt":1705637164,"art":"/library/metadata/17/art/1705637165","audienceRating":9.1,"audienceRatingImage":"rottentomatoes://image.rating.upright","contentRating":"PG-13","duration":141417,"guid":"plex://movie/5d77683f6f4521001ea9dc53","hasPremiumPrimaryExtra":"1","key":"/library/metadata/17","librarySectionID":1,"librarySectionKey":"/library/sections/1","librarySectionTitle":"Movies","originallyAvailableAt":"2005-09-29T00:00:00Z","rating":8.2,"ratingImage":"rottentomatoes://image.rating.ripe","ratingKey":"17","studio":"Universal Pictures","summary":"Serenity continues the story of the TV series it was based upon (\"Firefly\"). River Tam had a secret - one in which she's not even aware - so dangerous, no one's safe, as an Alliance operative's sent to capture her, and all others are considered irrelevant to his job.","tagline":"They aim to misbehave.","thumb":"/library/metadata/17/thumb/1705637165","title":"Serenity","type":"movie","updatedAt":1705637165,"year":2005}] | \ No newline at end of file diff --git a/docs/models/operations/getmetadatametadata.md b/docs/models/operations/getmetadatametadata.md new file mode 100644 index 0000000..4e39ccd --- /dev/null +++ b/docs/models/operations/getmetadatametadata.md @@ -0,0 +1,40 @@ +# GetMetadataMetadata + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `RatingKey` | **string* | :heavy_minus_sign: | N/A | 17 | +| `Key` | **string* | :heavy_minus_sign: | N/A | /library/metadata/17 | +| `GUID` | **string* | :heavy_minus_sign: | N/A | plex://movie/5d77683f6f4521001ea9dc53 | +| `Studio` | **string* | :heavy_minus_sign: | N/A | Universal Pictures | +| `Type` | **string* | :heavy_minus_sign: | N/A | movie | +| `Title` | **string* | :heavy_minus_sign: | N/A | Serenity | +| `LibrarySectionTitle` | **string* | :heavy_minus_sign: | N/A | Movies | +| `LibrarySectionID` | **int* | :heavy_minus_sign: | N/A | 1 | +| `LibrarySectionKey` | **string* | :heavy_minus_sign: | N/A | /library/sections/1 | +| `ContentRating` | **string* | :heavy_minus_sign: | N/A | PG-13 | +| `Summary` | **string* | :heavy_minus_sign: | N/A | Serenity continues the story of the TV series it was based upon ("Firefly"). River Tam had a secret - one in which she's not even aware - so dangerous, no one's safe, as an Alliance operative's sent to capture her, and all others are considered irrelevant to his job. | +| `Rating` | **float64* | :heavy_minus_sign: | N/A | 8.2 | +| `AudienceRating` | **float64* | :heavy_minus_sign: | N/A | 9.1 | +| `Year` | **int* | :heavy_minus_sign: | N/A | 2005 | +| `Tagline` | **string* | :heavy_minus_sign: | N/A | They aim to misbehave. | +| `Thumb` | **string* | :heavy_minus_sign: | N/A | /library/metadata/17/thumb/1705637165 | +| `Art` | **string* | :heavy_minus_sign: | N/A | /library/metadata/17/art/1705637165 | +| `Duration` | **int* | :heavy_minus_sign: | N/A | 141417 | +| `OriginallyAvailableAt` | [*types.Date](../../types/date.md) | :heavy_minus_sign: | N/A | 2005-09-29 00:00:00 +0000 UTC | +| `AddedAt` | **int* | :heavy_minus_sign: | N/A | 1705637164 | +| `UpdatedAt` | **int* | :heavy_minus_sign: | N/A | 1705637165 | +| `AudienceRatingImage` | **string* | :heavy_minus_sign: | N/A | rottentomatoes://image.rating.upright | +| `HasPremiumPrimaryExtra` | **string* | :heavy_minus_sign: | N/A | 1 | +| `RatingImage` | **string* | :heavy_minus_sign: | N/A | rottentomatoes://image.rating.ripe | +| `Media` | [][operations.GetMetadataMedia](../../models/operations/getmetadatamedia.md) | :heavy_minus_sign: | N/A | [{"Part":[{"Stream":[{"bitDepth":8,"bitrate":2160,"chromaLocation":"left","chromaSubsampling":14520,"codec":"h264","codedHeight":816,"codedWidth":1920,"colorPrimaries":"bt709","colorRange":"tv","colorSpace":"bt709","colorTrc":"bt709","default":true,"displayTitle":"1080p (H.264)","extendedDisplayTitle":"1080p (H.264)","frameRate":24,"hasScalingMatrix":false,"height":814,"id":30,"index":1,"level":40,"profile":"high","refFrames":4,"scanType":"progressive","streamIdentifier":"2","streamType":1,"width":1920},{"bitrate":128,"channels":2,"codec":"aac","default":true,"displayTitle":"English (AAC Stereo)","extendedDisplayTitle":"English (AAC Stereo)","id":29,"index":0,"language":"English","languageCode":"eng","languageTag":"en","profile":"lc","samplingRate":44100,"selected":true,"streamIdentifier":"1","streamType":2}],"audioProfile":"lc","container":"mp4","duration":141417,"file":"/movies/Serenity (2005)/Serenity (2005).mp4","has64bitOffsets":false,"id":15,"key":"/library/parts/15/1705637151/file.mp4","optimizedForStreaming":false,"size":40271948,"videoProfile":"high"}],"aspectRatio":2.35,"audioChannels":2,"audioCodec":"aac","audioProfile":"lc","bitrate":2278,"container":"mp4","duration":141417,"has64bitOffsets":false,"height":814,"id":15,"optimizedForStreaming":0,"videoCodec":"h264","videoFrameRate":"24p","videoProfile":"high","videoResolution":"1080","width":1920}] | +| `Genre` | [][operations.GetMetadataGenre](../../models/operations/getmetadatagenre.md) | :heavy_minus_sign: | N/A | [{"filter":"genre=184","id":184,"tag":"Thriller"}] | +| `Country` | [][operations.GetMetadataCountry](../../models/operations/getmetadatacountry.md) | :heavy_minus_sign: | N/A | [{"filter":"country=116","id":116,"tag":"United States of America"}] | +| `Guids` | [][operations.Guids](../../models/operations/guids.md) | :heavy_minus_sign: | N/A | [{"id":"tvdb://2337"}] | +| `Ratings` | [][operations.Ratings](../../models/operations/ratings.md) | :heavy_minus_sign: | N/A | [{"image":"themoviedb://image.rating","type":"audience","value":7.4}] | +| `Director` | [][operations.GetMetadataDirector](../../models/operations/getmetadatadirector.md) | :heavy_minus_sign: | N/A | [{"filter":"director=130","id":130,"tag":"Joss Whedon","tagKey":"5d776828880197001ec90e8f","thumb":"https://metadata-static.plex.tv/people/5d776828880197001ec90e8f.jpg"}] | +| `Writer` | [][operations.GetMetadataWriter](../../models/operations/getmetadatawriter.md) | :heavy_minus_sign: | N/A | [{"filter":"writer=132","id":132,"tag":"Joss Whedon","tagKey":"5d776828880197001ec90e8f","thumb":"https://metadata-static.plex.tv/people/5d776828880197001ec90e8f.jpg"}] | +| `Role` | [][operations.GetMetadataRole](../../models/operations/getmetadatarole.md) | :heavy_minus_sign: | N/A | [{"filter":"actor=220","id":220,"role":"Bar Guy (uncredited)","tag":"Dennis Keiffer","tagKey":"5d77683554f42c001f8c4708","thumb":"https://metadata-static.plex.tv/6/people/648e9a7ea1d537bccfcd7615134b78ce.jpg"}] | +| `Producer` | [][operations.Producer](../../models/operations/producer.md) | :heavy_minus_sign: | N/A | [{"filter":"producer=221","id":221,"tag":"Barry Mendel","tagKey":"5d776826961905001eb90e2b","thumb":"https://metadata-static.plex.tv/8/people/87877371326a964634d18556d94547e1.jpg"}] | \ No newline at end of file diff --git a/docs/models/operations/getmetadatapart.md b/docs/models/operations/getmetadatapart.md new file mode 100644 index 0000000..cc4ecdc --- /dev/null +++ b/docs/models/operations/getmetadatapart.md @@ -0,0 +1,18 @@ +# GetMetadataPart + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `ID` | **int* | :heavy_minus_sign: | N/A | 15 | +| `Key` | **string* | :heavy_minus_sign: | N/A | /library/parts/15/1705637151/file.mp4 | +| `Duration` | **int* | :heavy_minus_sign: | N/A | 141417 | +| `File` | **string* | :heavy_minus_sign: | N/A | /movies/Serenity (2005)/Serenity (2005).mp4 | +| `Size` | **int* | :heavy_minus_sign: | N/A | 40271948 | +| `AudioProfile` | **string* | :heavy_minus_sign: | N/A | lc | +| `Container` | **string* | :heavy_minus_sign: | N/A | mp4 | +| `Has64bitOffsets` | **bool* | :heavy_minus_sign: | N/A | false | +| `OptimizedForStreaming` | **bool* | :heavy_minus_sign: | N/A | false | +| `VideoProfile` | **string* | :heavy_minus_sign: | N/A | high | +| `Stream` | [][operations.Stream](../../models/operations/stream.md) | :heavy_minus_sign: | N/A | [{"bitDepth":8,"bitrate":128,"channels":2,"chromaLocation":"left","chromaSubsampling":14520,"codec":"aac","codedHeight":816,"codedWidth":1920,"colorPrimaries":"bt709","colorRange":"tv","colorSpace":"bt709","colorTrc":"bt709","default":true,"displayTitle":"English (AAC Stereo)","extendedDisplayTitle":"English (AAC Stereo)","frameRate":24,"hasScalingMatrix":false,"height":814,"id":29,"index":0,"language":"English","languageCode":"eng","languageTag":"en","level":40,"profile":"lc","refFrames":4,"samplingRate":44100,"scanType":"progressive","selected":true,"streamIdentifier":"1","streamType":2,"width":1920}] | \ No newline at end of file diff --git a/docs/models/operations/getmetadataresponse.md b/docs/models/operations/getmetadataresponse.md index 7aee541..517cf11 100644 --- a/docs/models/operations/getmetadataresponse.md +++ b/docs/models/operations/getmetadataresponse.md @@ -3,8 +3,9 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | -| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | -| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | -| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | \ No newline at end of file +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | +| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `Object` | [*operations.GetMetadataResponseBody](../../models/operations/getmetadataresponsebody.md) | :heavy_minus_sign: | The metadata of the library item. | \ No newline at end of file diff --git a/docs/models/operations/getmetadataresponsebody.md b/docs/models/operations/getmetadataresponsebody.md new file mode 100644 index 0000000..d5552ba --- /dev/null +++ b/docs/models/operations/getmetadataresponsebody.md @@ -0,0 +1,10 @@ +# GetMetadataResponseBody + +The metadata of the library item. + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | +| `MediaContainer` | [*operations.GetMetadataMediaContainer](../../models/operations/getmetadatamediacontainer.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/operations/getmetadatarole.md b/docs/models/operations/getmetadatarole.md new file mode 100644 index 0000000..f1d0380 --- /dev/null +++ b/docs/models/operations/getmetadatarole.md @@ -0,0 +1,13 @@ +# GetMetadataRole + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `ID` | **int* | :heavy_minus_sign: | N/A | 220 | +| `Filter` | **string* | :heavy_minus_sign: | N/A | actor=220 | +| `Tag` | **string* | :heavy_minus_sign: | N/A | Dennis Keiffer | +| `TagKey` | **string* | :heavy_minus_sign: | N/A | 5d77683554f42c001f8c4708 | +| `Role` | **string* | :heavy_minus_sign: | N/A | Bar Guy (uncredited) | +| `Thumb` | **string* | :heavy_minus_sign: | N/A | https://metadata-static.plex.tv/6/people/648e9a7ea1d537bccfcd7615134b78ce.jpg | \ No newline at end of file diff --git a/docs/models/operations/getmetadatawriter.md b/docs/models/operations/getmetadatawriter.md new file mode 100644 index 0000000..ac7ebd5 --- /dev/null +++ b/docs/models/operations/getmetadatawriter.md @@ -0,0 +1,12 @@ +# GetMetadataWriter + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | +| `ID` | **int* | :heavy_minus_sign: | N/A | 132 | +| `Filter` | **string* | :heavy_minus_sign: | N/A | writer=132 | +| `Tag` | **string* | :heavy_minus_sign: | N/A | Joss Whedon | +| `TagKey` | **string* | :heavy_minus_sign: | N/A | 5d776828880197001ec90e8f | +| `Thumb` | **string* | :heavy_minus_sign: | N/A | https://metadata-static.plex.tv/people/5d776828880197001ec90e8f.jpg | \ No newline at end of file diff --git a/docs/models/operations/getondeckguids.md b/docs/models/operations/getondeckguids.md new file mode 100644 index 0000000..41ed1d5 --- /dev/null +++ b/docs/models/operations/getondeckguids.md @@ -0,0 +1,8 @@ +# GetOnDeckGuids + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | +| `ID` | **string* | :heavy_minus_sign: | N/A | imdb://tt13303712 | \ No newline at end of file diff --git a/docs/models/operations/getondeckmetadata.md b/docs/models/operations/getondeckmetadata.md index 2dae45b..0e78de2 100644 --- a/docs/models/operations/getondeckmetadata.md +++ b/docs/models/operations/getondeckmetadata.md @@ -40,4 +40,4 @@ | `AddedAt` | **float64* | :heavy_minus_sign: | N/A | 1654258196 | | `UpdatedAt` | **float64* | :heavy_minus_sign: | N/A | 1654258204 | | `Media` | [][operations.GetOnDeckMedia](../../models/operations/getondeckmedia.md) | :heavy_minus_sign: | N/A | | -| `Guids` | [][operations.Guids](../../models/operations/guids.md) | :heavy_minus_sign: | N/A | | \ No newline at end of file +| `Guids` | [][operations.GetOnDeckGuids](../../models/operations/getondeckguids.md) | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/models/operations/getondeckpart.md b/docs/models/operations/getondeckpart.md index bc91918..b937520 100644 --- a/docs/models/operations/getondeckpart.md +++ b/docs/models/operations/getondeckpart.md @@ -3,14 +3,14 @@ ## Fields -| Field | Type | Required | Description | Example | -| -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | -| `ID` | **float64* | :heavy_minus_sign: | N/A | 80994 | -| `Key` | **string* | :heavy_minus_sign: | N/A | /library/parts/80994/1655007810/file.mkv | -| `Duration` | **float64* | :heavy_minus_sign: | N/A | 420080 | -| `File` | **string* | :heavy_minus_sign: | N/A | /tvshows/Bluey (2018)/Bluey (2018) - S02E33 - Circus.mkv | -| `Size` | **float64* | :heavy_minus_sign: | N/A | 55148931 | -| `AudioProfile` | **string* | :heavy_minus_sign: | N/A | lc | -| `Container` | **string* | :heavy_minus_sign: | N/A | mkv | -| `VideoProfile` | **string* | :heavy_minus_sign: | N/A | main | -| `Stream` | [][operations.Stream](../../models/operations/stream.md) | :heavy_minus_sign: | N/A | | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | +| `ID` | **float64* | :heavy_minus_sign: | N/A | 80994 | +| `Key` | **string* | :heavy_minus_sign: | N/A | /library/parts/80994/1655007810/file.mkv | +| `Duration` | **float64* | :heavy_minus_sign: | N/A | 420080 | +| `File` | **string* | :heavy_minus_sign: | N/A | /tvshows/Bluey (2018)/Bluey (2018) - S02E33 - Circus.mkv | +| `Size` | **float64* | :heavy_minus_sign: | N/A | 55148931 | +| `AudioProfile` | **string* | :heavy_minus_sign: | N/A | lc | +| `Container` | **string* | :heavy_minus_sign: | N/A | mkv | +| `VideoProfile` | **string* | :heavy_minus_sign: | N/A | main | +| `Stream` | [][operations.GetOnDeckStream](../../models/operations/getondeckstream.md) | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/models/operations/getondeckstream.md b/docs/models/operations/getondeckstream.md new file mode 100644 index 0000000..32f0468 --- /dev/null +++ b/docs/models/operations/getondeckstream.md @@ -0,0 +1,30 @@ +# GetOnDeckStream + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------- | ---------------------- | ---------------------- | ---------------------- | ---------------------- | +| `ID` | **float64* | :heavy_minus_sign: | N/A | 211234 | +| `StreamType` | **float64* | :heavy_minus_sign: | N/A | 1 | +| `Default` | **bool* | :heavy_minus_sign: | N/A | | +| `Codec` | **string* | :heavy_minus_sign: | N/A | hevc | +| `Index` | **float64* | :heavy_minus_sign: | N/A | 0 | +| `Bitrate` | **float64* | :heavy_minus_sign: | N/A | 918 | +| `Language` | **string* | :heavy_minus_sign: | N/A | English | +| `LanguageTag` | **string* | :heavy_minus_sign: | N/A | en | +| `LanguageCode` | **string* | :heavy_minus_sign: | N/A | eng | +| `BitDepth` | **float64* | :heavy_minus_sign: | N/A | 8 | +| `ChromaLocation` | **string* | :heavy_minus_sign: | N/A | left | +| `ChromaSubsampling` | **string* | :heavy_minus_sign: | N/A | 4:2:0 | +| `CodedHeight` | **float64* | :heavy_minus_sign: | N/A | 1080 | +| `CodedWidth` | **float64* | :heavy_minus_sign: | N/A | 1920 | +| `ColorRange` | **string* | :heavy_minus_sign: | N/A | tv | +| `FrameRate` | **float64* | :heavy_minus_sign: | N/A | 25 | +| `Height` | **float64* | :heavy_minus_sign: | N/A | 1080 | +| `Level` | **float64* | :heavy_minus_sign: | N/A | 120 | +| `Profile` | **string* | :heavy_minus_sign: | N/A | main | +| `RefFrames` | **float64* | :heavy_minus_sign: | N/A | 1 | +| `Width` | **float64* | :heavy_minus_sign: | N/A | 1920 | +| `DisplayTitle` | **string* | :heavy_minus_sign: | N/A | 1080p (HEVC Main) | +| `ExtendedDisplayTitle` | **string* | :heavy_minus_sign: | N/A | 1080p (HEVC Main) | \ No newline at end of file diff --git a/docs/models/operations/getplaylistcontentscountry.md b/docs/models/operations/getplaylistcontentscountry.md new file mode 100644 index 0000000..0295516 --- /dev/null +++ b/docs/models/operations/getplaylistcontentscountry.md @@ -0,0 +1,8 @@ +# GetPlaylistContentsCountry + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------ | ------------------------ | ------------------------ | ------------------------ | ------------------------ | +| `Tag` | **string* | :heavy_minus_sign: | N/A | United States of America | \ No newline at end of file diff --git a/docs/models/operations/getplaylistcontentsdirector.md b/docs/models/operations/getplaylistcontentsdirector.md new file mode 100644 index 0000000..4e3952c --- /dev/null +++ b/docs/models/operations/getplaylistcontentsdirector.md @@ -0,0 +1,8 @@ +# GetPlaylistContentsDirector + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | +| `Tag` | **string* | :heavy_minus_sign: | N/A | Joss Whedon | \ No newline at end of file diff --git a/docs/models/operations/getplaylistcontentsgenre.md b/docs/models/operations/getplaylistcontentsgenre.md new file mode 100644 index 0000000..ac5daab --- /dev/null +++ b/docs/models/operations/getplaylistcontentsgenre.md @@ -0,0 +1,8 @@ +# GetPlaylistContentsGenre + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | +| `Tag` | **string* | :heavy_minus_sign: | N/A | Action | \ No newline at end of file diff --git a/docs/models/operations/getplaylistcontentsmedia.md b/docs/models/operations/getplaylistcontentsmedia.md new file mode 100644 index 0000000..b89ae63 --- /dev/null +++ b/docs/models/operations/getplaylistcontentsmedia.md @@ -0,0 +1,24 @@ +# GetPlaylistContentsMedia + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `ID` | **int* | :heavy_minus_sign: | N/A | 15 | +| `Duration` | **int* | :heavy_minus_sign: | N/A | 141416 | +| `Bitrate` | **int* | :heavy_minus_sign: | N/A | 2273 | +| `Width` | **int* | :heavy_minus_sign: | N/A | 1920 | +| `Height` | **int* | :heavy_minus_sign: | N/A | 814 | +| `AspectRatio` | **float64* | :heavy_minus_sign: | N/A | 2.35 | +| `AudioChannels` | **int* | :heavy_minus_sign: | N/A | 2 | +| `AudioCodec` | **string* | :heavy_minus_sign: | N/A | aac | +| `VideoCodec` | **string* | :heavy_minus_sign: | N/A | h264 | +| `VideoResolution` | **string* | :heavy_minus_sign: | N/A | 1080 | +| `Container` | **string* | :heavy_minus_sign: | N/A | mp4 | +| `VideoFrameRate` | **string* | :heavy_minus_sign: | N/A | 24p | +| `OptimizedForStreaming` | **int* | :heavy_minus_sign: | N/A | 0 | +| `AudioProfile` | **string* | :heavy_minus_sign: | N/A | lc | +| `Has64bitOffsets` | **bool* | :heavy_minus_sign: | N/A | false | +| `VideoProfile` | **string* | :heavy_minus_sign: | N/A | high | +| `Part` | [][operations.GetPlaylistContentsPart](../../models/operations/getplaylistcontentspart.md) | :heavy_minus_sign: | N/A | [{"audioProfile":"lc","container":"mp4","duration":141416,"file":"/movies/Serenity (2005)/Serenity (2005).mp4","has64bitOffsets":false,"id":15,"key":"/library/parts/15/1705637151/file.mp4","optimizedForStreaming":false,"size":40271948,"videoProfile":"high"}] | \ No newline at end of file diff --git a/docs/models/operations/getplaylistcontentsmediacontainer.md b/docs/models/operations/getplaylistcontentsmediacontainer.md new file mode 100644 index 0000000..fc83d40 --- /dev/null +++ b/docs/models/operations/getplaylistcontentsmediacontainer.md @@ -0,0 +1,16 @@ +# GetPlaylistContentsMediaContainer + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `Size` | **int* | :heavy_minus_sign: | N/A | 2 | +| `Composite` | **string* | :heavy_minus_sign: | N/A | /playlists/95/composite/1705717521 | +| `Duration` | **int* | :heavy_minus_sign: | N/A | 282 | +| `LeafCount` | **int* | :heavy_minus_sign: | N/A | 2 | +| `PlaylistType` | **string* | :heavy_minus_sign: | N/A | video | +| `RatingKey` | **string* | :heavy_minus_sign: | N/A | 95 | +| `Smart` | **bool* | :heavy_minus_sign: | N/A | true | +| `Title` | **string* | :heavy_minus_sign: | N/A | Smart Movie Playlist | +| `Metadata` | [][operations.GetPlaylistContentsMetadata](../../models/operations/getplaylistcontentsmetadata.md) | :heavy_minus_sign: | N/A | [{"Country":[{"tag":"United States of America"}],"Director":[{"tag":"Joss Whedon"}],"Genre":[{"tag":"Science Fiction"}],"Media":[{"Part":[{"audioProfile":"lc","container":"mp4","duration":141416,"file":"/movies/Serenity (2005)/Serenity (2005).mp4","has64bitOffsets":false,"id":15,"key":"/library/parts/15/1705637151/file.mp4","optimizedForStreaming":false,"size":40271948,"videoProfile":"high"}],"aspectRatio":2.35,"audioChannels":2,"audioCodec":"aac","audioProfile":"lc","bitrate":2273,"container":"mp4","duration":141416,"has64bitOffsets":false,"height":814,"id":15,"optimizedForStreaming":0,"videoCodec":"h264","videoFrameRate":"24p","videoProfile":"high","videoResolution":"1080","width":1920}],"Role":[{"tag":"Nathan Fillion"}],"Writer":[{"tag":"Joss Whedon"}],"addedAt":1705637164,"art":"/library/metadata/17/art/1705637165","audienceRating":9.1,"audienceRatingImage":"rottentomatoes://image.rating.upright","contentRating":"PG-13","duration":141416,"guid":"plex://movie/5d77683f6f4521001ea9dc53","hasPremiumExtras":"1","hasPremiumPrimaryExtra":"1","key":"/library/metadata/17","librarySectionID":1,"librarySectionKey":"/library/sections/1","librarySectionTitle":"Movies","originallyAvailableAt":"2005-09-29T00:00:00Z","rating":8.2,"ratingImage":"rottentomatoes://image.rating.ripe","ratingKey":"17","studio":"Universal Pictures","summary":"Serenity continues the story of the TV series it was based upon (\"Firefly\"). River Tam had a secret - one in which she's not even aware - so dangerous, no one's safe, as an Alliance operative's sent to capture her, and all others are considered irrelevant to his job.","tagline":"They aim to misbehave.","thumb":"/library/metadata/17/thumb/1705637165","title":"Serenity","titleSort":"Amazing Spider-Man 2","type":"movie","updatedAt":1705637165,"year":2005}] | \ No newline at end of file diff --git a/docs/models/operations/getplaylistcontentsmetadata.md b/docs/models/operations/getplaylistcontentsmetadata.md new file mode 100644 index 0000000..184919c --- /dev/null +++ b/docs/models/operations/getplaylistcontentsmetadata.md @@ -0,0 +1,39 @@ +# GetPlaylistContentsMetadata + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `RatingKey` | **string* | :heavy_minus_sign: | N/A | 17 | +| `Key` | **string* | :heavy_minus_sign: | N/A | /library/metadata/17 | +| `GUID` | **string* | :heavy_minus_sign: | N/A | plex://movie/5d77683f6f4521001ea9dc53 | +| `Studio` | **string* | :heavy_minus_sign: | N/A | Universal Pictures | +| `Type` | **string* | :heavy_minus_sign: | N/A | movie | +| `Title` | **string* | :heavy_minus_sign: | N/A | Serenity | +| `TitleSort` | **string* | :heavy_minus_sign: | N/A | Amazing Spider-Man 2 | +| `LibrarySectionTitle` | **string* | :heavy_minus_sign: | N/A | Movies | +| `LibrarySectionID` | **int* | :heavy_minus_sign: | N/A | 1 | +| `LibrarySectionKey` | **string* | :heavy_minus_sign: | N/A | /library/sections/1 | +| `ContentRating` | **string* | :heavy_minus_sign: | N/A | PG-13 | +| `Summary` | **string* | :heavy_minus_sign: | N/A | Serenity continues the story of the TV series it was based upon ("Firefly"). River Tam had a secret - one in which she's not even aware - so dangerous, no one's safe, as an Alliance operative's sent to capture her, and all others are considered irrelevant to his job. | +| `Rating` | **float64* | :heavy_minus_sign: | N/A | 8.2 | +| `AudienceRating` | **float64* | :heavy_minus_sign: | N/A | 9.1 | +| `Year` | **int* | :heavy_minus_sign: | N/A | 2005 | +| `Tagline` | **string* | :heavy_minus_sign: | N/A | They aim to misbehave. | +| `Thumb` | **string* | :heavy_minus_sign: | N/A | /library/metadata/17/thumb/1705637165 | +| `Art` | **string* | :heavy_minus_sign: | N/A | /library/metadata/17/art/1705637165 | +| `Duration` | **int* | :heavy_minus_sign: | N/A | 141416 | +| `OriginallyAvailableAt` | [*types.Date](../../types/date.md) | :heavy_minus_sign: | N/A | 2005-09-29 00:00:00 +0000 UTC | +| `AddedAt` | **int* | :heavy_minus_sign: | N/A | 1705637164 | +| `UpdatedAt` | **int* | :heavy_minus_sign: | N/A | 1705637165 | +| `AudienceRatingImage` | **string* | :heavy_minus_sign: | N/A | rottentomatoes://image.rating.upright | +| `HasPremiumExtras` | **string* | :heavy_minus_sign: | N/A | 1 | +| `HasPremiumPrimaryExtra` | **string* | :heavy_minus_sign: | N/A | 1 | +| `RatingImage` | **string* | :heavy_minus_sign: | N/A | rottentomatoes://image.rating.ripe | +| `Media` | [][operations.GetPlaylistContentsMedia](../../models/operations/getplaylistcontentsmedia.md) | :heavy_minus_sign: | N/A | [{"Part":[{"audioProfile":"lc","container":"mp4","duration":141416,"file":"/movies/Serenity (2005)/Serenity (2005).mp4","has64bitOffsets":false,"id":15,"key":"/library/parts/15/1705637151/file.mp4","optimizedForStreaming":false,"size":40271948,"videoProfile":"high"}],"aspectRatio":2.35,"audioChannels":2,"audioCodec":"aac","audioProfile":"lc","bitrate":2273,"container":"mp4","duration":141416,"has64bitOffsets":false,"height":814,"id":15,"optimizedForStreaming":0,"videoCodec":"h264","videoFrameRate":"24p","videoProfile":"high","videoResolution":"1080","width":1920}] | +| `Genre` | [][operations.GetPlaylistContentsGenre](../../models/operations/getplaylistcontentsgenre.md) | :heavy_minus_sign: | N/A | [{"tag":"Action"}] | +| `Country` | [][operations.GetPlaylistContentsCountry](../../models/operations/getplaylistcontentscountry.md) | :heavy_minus_sign: | N/A | [{"tag":"United States of America"}] | +| `Director` | [][operations.GetPlaylistContentsDirector](../../models/operations/getplaylistcontentsdirector.md) | :heavy_minus_sign: | N/A | [{"tag":"Joss Whedon"}] | +| `Writer` | [][operations.GetPlaylistContentsWriter](../../models/operations/getplaylistcontentswriter.md) | :heavy_minus_sign: | N/A | [{"tag":"Joss Whedon"}] | +| `Role` | [][operations.GetPlaylistContentsRole](../../models/operations/getplaylistcontentsrole.md) | :heavy_minus_sign: | N/A | [{"tag":"Gina Torres"}] | \ No newline at end of file diff --git a/docs/models/operations/getplaylistcontentspart.md b/docs/models/operations/getplaylistcontentspart.md new file mode 100644 index 0000000..c2261dd --- /dev/null +++ b/docs/models/operations/getplaylistcontentspart.md @@ -0,0 +1,17 @@ +# GetPlaylistContentsPart + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------- | ------------------------------------------- | ------------------------------------------- | ------------------------------------------- | ------------------------------------------- | +| `ID` | **int* | :heavy_minus_sign: | N/A | 15 | +| `Key` | **string* | :heavy_minus_sign: | N/A | /library/parts/15/1705637151/file.mp4 | +| `Duration` | **int* | :heavy_minus_sign: | N/A | 141416 | +| `File` | **string* | :heavy_minus_sign: | N/A | /movies/Serenity (2005)/Serenity (2005).mp4 | +| `Size` | **int* | :heavy_minus_sign: | N/A | 40271948 | +| `AudioProfile` | **string* | :heavy_minus_sign: | N/A | lc | +| `Container` | **string* | :heavy_minus_sign: | N/A | mp4 | +| `Has64bitOffsets` | **bool* | :heavy_minus_sign: | N/A | false | +| `OptimizedForStreaming` | **bool* | :heavy_minus_sign: | N/A | false | +| `VideoProfile` | **string* | :heavy_minus_sign: | N/A | high | \ No newline at end of file diff --git a/docs/models/operations/getplaylistcontentsresponse.md b/docs/models/operations/getplaylistcontentsresponse.md index 7807247..8b36b34 100644 --- a/docs/models/operations/getplaylistcontentsresponse.md +++ b/docs/models/operations/getplaylistcontentsresponse.md @@ -3,8 +3,9 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | -| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | -| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | -| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | \ No newline at end of file +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | +| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `Object` | [*operations.GetPlaylistContentsResponseBody](../../models/operations/getplaylistcontentsresponsebody.md) | :heavy_minus_sign: | The playlist contents | \ No newline at end of file diff --git a/docs/models/operations/getplaylistcontentsresponsebody.md b/docs/models/operations/getplaylistcontentsresponsebody.md new file mode 100644 index 0000000..76bfd39 --- /dev/null +++ b/docs/models/operations/getplaylistcontentsresponsebody.md @@ -0,0 +1,10 @@ +# GetPlaylistContentsResponseBody + +The playlist contents + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | +| `MediaContainer` | [*operations.GetPlaylistContentsMediaContainer](../../models/operations/getplaylistcontentsmediacontainer.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/operations/getplaylistcontentsrole.md b/docs/models/operations/getplaylistcontentsrole.md new file mode 100644 index 0000000..afcf22d --- /dev/null +++ b/docs/models/operations/getplaylistcontentsrole.md @@ -0,0 +1,8 @@ +# GetPlaylistContentsRole + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | +| `Tag` | **string* | :heavy_minus_sign: | N/A | Gina Torres | \ No newline at end of file diff --git a/docs/models/operations/getplaylistcontentswriter.md b/docs/models/operations/getplaylistcontentswriter.md new file mode 100644 index 0000000..9f360cf --- /dev/null +++ b/docs/models/operations/getplaylistcontentswriter.md @@ -0,0 +1,8 @@ +# GetPlaylistContentsWriter + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | +| `Tag` | **string* | :heavy_minus_sign: | N/A | Joss Whedon | \ No newline at end of file diff --git a/docs/models/operations/getplaylistmediacontainer.md b/docs/models/operations/getplaylistmediacontainer.md new file mode 100644 index 0000000..22ba9e5 --- /dev/null +++ b/docs/models/operations/getplaylistmediacontainer.md @@ -0,0 +1,9 @@ +# GetPlaylistMediaContainer + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Size` | **int* | :heavy_minus_sign: | N/A | 1 | +| `Metadata` | [][operations.GetPlaylistMetadata](../../models/operations/getplaylistmetadata.md) | :heavy_minus_sign: | N/A | [{"addedAt":1705716493,"composite":"/playlists/95/composite/1705717387","content":"library://x/directory/%2Flibrary%2Fsections%2F1%2Fall%3Ftype%3D1%26push%3D1%26title%3D2%26or%3D1%26title%3DSerenity%26pop%3D1","duration":282000,"guid":"com.plexapp.agents.none://87425529-380f-44b8-a689-9a0537e7ec91","icon":"playlist://image.smart","key":"/playlists/95/items","leafCount":2,"playlistType":"video","ratingKey":"95","smart":true,"summary":"","title":"Smart Movie Playlist","type":"playlist","updatedAt":1705717387}] | \ No newline at end of file diff --git a/docs/models/operations/getplaylistmetadata.md b/docs/models/operations/getplaylistmetadata.md new file mode 100644 index 0000000..28aa76a --- /dev/null +++ b/docs/models/operations/getplaylistmetadata.md @@ -0,0 +1,22 @@ +# GetPlaylistMetadata + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | +| `Content` | **string* | :heavy_minus_sign: | N/A | library://x/directory/%2Flibrary%2Fsections%2F1%2Fall%3Ftype%3D1%26push%3D1%26title%3D2%26or%3D1%26title%3DSerenity%26pop%3D1 | +| `RatingKey` | **string* | :heavy_minus_sign: | N/A | 95 | +| `Key` | **string* | :heavy_minus_sign: | N/A | /playlists/95/items | +| `GUID` | **string* | :heavy_minus_sign: | N/A | com.plexapp.agents.none://87425529-380f-44b8-a689-9a0537e7ec91 | +| `Type` | **string* | :heavy_minus_sign: | N/A | playlist | +| `Title` | **string* | :heavy_minus_sign: | N/A | Smart Movie Playlist | +| `Summary` | **string* | :heavy_minus_sign: | N/A | | +| `Smart` | **bool* | :heavy_minus_sign: | N/A | true | +| `PlaylistType` | **string* | :heavy_minus_sign: | N/A | video | +| `Composite` | **string* | :heavy_minus_sign: | N/A | /playlists/95/composite/1705717387 | +| `Icon` | **string* | :heavy_minus_sign: | N/A | playlist://image.smart | +| `Duration` | **int* | :heavy_minus_sign: | N/A | 282000 | +| `LeafCount` | **int* | :heavy_minus_sign: | N/A | 2 | +| `AddedAt` | **int* | :heavy_minus_sign: | N/A | 1705716493 | +| `UpdatedAt` | **int* | :heavy_minus_sign: | N/A | 1705717387 | \ No newline at end of file diff --git a/docs/models/operations/getplaylistresponse.md b/docs/models/operations/getplaylistresponse.md index 2b44dff..86b165f 100644 --- a/docs/models/operations/getplaylistresponse.md +++ b/docs/models/operations/getplaylistresponse.md @@ -3,8 +3,9 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | -| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | -| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | -| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | \ No newline at end of file +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | +| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `Object` | [*operations.GetPlaylistResponseBody](../../models/operations/getplaylistresponsebody.md) | :heavy_minus_sign: | The playlist | \ No newline at end of file diff --git a/docs/models/operations/getplaylistresponsebody.md b/docs/models/operations/getplaylistresponsebody.md new file mode 100644 index 0000000..5e3e758 --- /dev/null +++ b/docs/models/operations/getplaylistresponsebody.md @@ -0,0 +1,10 @@ +# GetPlaylistResponseBody + +The playlist + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | +| `MediaContainer` | [*operations.GetPlaylistMediaContainer](../../models/operations/getplaylistmediacontainer.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/operations/getplaylistsmediacontainer.md b/docs/models/operations/getplaylistsmediacontainer.md new file mode 100644 index 0000000..a66e13f --- /dev/null +++ b/docs/models/operations/getplaylistsmediacontainer.md @@ -0,0 +1,9 @@ +# GetPlaylistsMediaContainer + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Size` | **int* | :heavy_minus_sign: | N/A | 4 | +| `Metadata` | [][operations.GetPlaylistsMetadata](../../models/operations/getplaylistsmetadata.md) | :heavy_minus_sign: | N/A | [{"addedAt":1705716298,"composite":"/playlists/92/composite/1705716440","duration":7328000,"guid":"com.plexapp.agents.none://7ca5aaef-58e8-4828-9e21-c009c97f2903","icon":"playlist://image.smart","key":"/playlists/92/items","lastViewedAt":1705716298,"leafCount":32,"playlistType":"video","ratingKey":"92","smart":false,"summary":"A Great Playlist","title":"Static Playlist","type":"playlist","updatedAt":1705716440,"viewCount":1}] | \ No newline at end of file diff --git a/docs/models/operations/getplaylistsmetadata.md b/docs/models/operations/getplaylistsmetadata.md new file mode 100644 index 0000000..ccb1ab8 --- /dev/null +++ b/docs/models/operations/getplaylistsmetadata.md @@ -0,0 +1,23 @@ +# GetPlaylistsMetadata + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | +| `RatingKey` | **string* | :heavy_minus_sign: | N/A | 92 | +| `Key` | **string* | :heavy_minus_sign: | N/A | /playlists/92/items | +| `GUID` | **string* | :heavy_minus_sign: | N/A | com.plexapp.agents.none://7ca5aaef-58e8-4828-9e21-c009c97f2903 | +| `Type` | **string* | :heavy_minus_sign: | N/A | playlist | +| `Title` | **string* | :heavy_minus_sign: | N/A | Static Playlist | +| `Summary` | **string* | :heavy_minus_sign: | N/A | A Great Playlist | +| `Smart` | **bool* | :heavy_minus_sign: | N/A | false | +| `PlaylistType` | **string* | :heavy_minus_sign: | N/A | video | +| `Composite` | **string* | :heavy_minus_sign: | N/A | /playlists/92/composite/1705716440 | +| `Icon` | **string* | :heavy_minus_sign: | N/A | playlist://image.smart | +| `ViewCount` | **int* | :heavy_minus_sign: | N/A | 1 | +| `LastViewedAt` | **int* | :heavy_minus_sign: | N/A | 1705716298 | +| `Duration` | **int* | :heavy_minus_sign: | N/A | 7328000 | +| `LeafCount` | **int* | :heavy_minus_sign: | N/A | 32 | +| `AddedAt` | **int* | :heavy_minus_sign: | N/A | 1705716298 | +| `UpdatedAt` | **int* | :heavy_minus_sign: | N/A | 1705716440 | \ No newline at end of file diff --git a/docs/models/operations/getplaylistsresponse.md b/docs/models/operations/getplaylistsresponse.md index 5d8c612..eb699fa 100644 --- a/docs/models/operations/getplaylistsresponse.md +++ b/docs/models/operations/getplaylistsresponse.md @@ -3,8 +3,9 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | -| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | -| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | -| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | +| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `Object` | [*operations.GetPlaylistsResponseBody](../../models/operations/getplaylistsresponsebody.md) | :heavy_minus_sign: | returns all playlists | \ No newline at end of file diff --git a/docs/models/operations/getplaylistsresponsebody.md b/docs/models/operations/getplaylistsresponsebody.md new file mode 100644 index 0000000..dde101c --- /dev/null +++ b/docs/models/operations/getplaylistsresponsebody.md @@ -0,0 +1,10 @@ +# GetPlaylistsResponseBody + +returns all playlists + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | +| `MediaContainer` | [*operations.GetPlaylistsMediaContainer](../../models/operations/getplaylistsmediacontainer.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/operations/getserveridentityresponse.md b/docs/models/operations/getserveridentityresponse.md index bb09028..a172f0f 100644 --- a/docs/models/operations/getserveridentityresponse.md +++ b/docs/models/operations/getserveridentityresponse.md @@ -8,4 +8,4 @@ | `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | | `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | | `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | -| `Object` | [*operations.GetServerIdentityResponseBody](../../models/operations/getserveridentityresponsebody.md) | :heavy_minus_sign: | The Transcode Sessions | \ No newline at end of file +| `Object` | [*operations.GetServerIdentityResponseBody](../../models/operations/getserveridentityresponsebody.md) | :heavy_minus_sign: | The Server Identity information | \ No newline at end of file diff --git a/docs/models/operations/getserveridentityresponsebody.md b/docs/models/operations/getserveridentityresponsebody.md index b7842cd..0ffb02a 100644 --- a/docs/models/operations/getserveridentityresponsebody.md +++ b/docs/models/operations/getserveridentityresponsebody.md @@ -1,6 +1,6 @@ # GetServerIdentityResponseBody -The Transcode Sessions +The Server Identity information ## Fields diff --git a/docs/models/operations/getsessionhistorymediacontainer.md b/docs/models/operations/getsessionhistorymediacontainer.md new file mode 100644 index 0000000..dae714d --- /dev/null +++ b/docs/models/operations/getsessionhistorymediacontainer.md @@ -0,0 +1,9 @@ +# GetSessionHistoryMediaContainer + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Size` | **int* | :heavy_minus_sign: | N/A | 10855 | +| `Metadata` | [][operations.GetSessionHistoryMetadata](../../models/operations/getsessionhistorymetadata.md) | :heavy_minus_sign: | N/A | [{"accountID":1,"deviceID":5,"grandparentArt":"/library/metadata/32132/art/1703933346","grandparentKey":"/library/metadata/32132","grandparentThumb":"/library/metadata/32132/thumb/1703933346","grandparentTitle":"Taskmaster","historyKey":"/status/sessions/history/1","index":1,"key":"/library/metadata/32171","librarySectionID":"2","originallyAvailableAt":"2022-04-14T00:00:00Z","parentIndex":13,"parentKey":"/library/metadata/32170","parentThumb":"/library/metadata/32170/thumb/1654134301","ratingKey":"32171","thumb":"/library/metadata/32171/thumb/-1","title":"The Noise That Blue Makes","type":"episode","viewedAt":1654139223}] | \ No newline at end of file diff --git a/docs/models/operations/getsessionhistorymetadata.md b/docs/models/operations/getsessionhistorymetadata.md new file mode 100644 index 0000000..64e8608 --- /dev/null +++ b/docs/models/operations/getsessionhistorymetadata.md @@ -0,0 +1,26 @@ +# GetSessionHistoryMetadata + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | +| `HistoryKey` | **string* | :heavy_minus_sign: | N/A | /status/sessions/history/1 | +| `Key` | **string* | :heavy_minus_sign: | N/A | /library/metadata/32171 | +| `RatingKey` | **string* | :heavy_minus_sign: | N/A | 32171 | +| `LibrarySectionID` | **string* | :heavy_minus_sign: | N/A | 2 | +| `ParentKey` | **string* | :heavy_minus_sign: | N/A | /library/metadata/32170 | +| `GrandparentKey` | **string* | :heavy_minus_sign: | N/A | /library/metadata/32132 | +| `Title` | **string* | :heavy_minus_sign: | N/A | The Noise That Blue Makes | +| `GrandparentTitle` | **string* | :heavy_minus_sign: | N/A | Taskmaster | +| `Type` | **string* | :heavy_minus_sign: | N/A | episode | +| `Thumb` | **string* | :heavy_minus_sign: | N/A | /library/metadata/32171/thumb/-1 | +| `ParentThumb` | **string* | :heavy_minus_sign: | N/A | /library/metadata/32170/thumb/1654134301 | +| `GrandparentThumb` | **string* | :heavy_minus_sign: | N/A | /library/metadata/32132/thumb/1703933346 | +| `GrandparentArt` | **string* | :heavy_minus_sign: | N/A | /library/metadata/32132/art/1703933346 | +| `Index` | **int* | :heavy_minus_sign: | N/A | 1 | +| `ParentIndex` | **int* | :heavy_minus_sign: | N/A | 13 | +| `OriginallyAvailableAt` | [*types.Date](../../types/date.md) | :heavy_minus_sign: | N/A | 2022-04-14 00:00:00 +0000 UTC | +| `ViewedAt` | **int* | :heavy_minus_sign: | N/A | 1654139223 | +| `AccountID` | **int* | :heavy_minus_sign: | N/A | 1 | +| `DeviceID` | **int* | :heavy_minus_sign: | N/A | 5 | \ No newline at end of file diff --git a/docs/models/operations/getsessionhistoryresponse.md b/docs/models/operations/getsessionhistoryresponse.md index 3e63308..40fe57a 100644 --- a/docs/models/operations/getsessionhistoryresponse.md +++ b/docs/models/operations/getsessionhistoryresponse.md @@ -3,8 +3,9 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | -| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | -| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | -| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | \ No newline at end of file +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | +| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `Object` | [*operations.GetSessionHistoryResponseBody](../../models/operations/getsessionhistoryresponsebody.md) | :heavy_minus_sign: | List of Plex Sessions | \ No newline at end of file diff --git a/docs/models/operations/getsessionhistoryresponsebody.md b/docs/models/operations/getsessionhistoryresponsebody.md new file mode 100644 index 0000000..f91794c --- /dev/null +++ b/docs/models/operations/getsessionhistoryresponsebody.md @@ -0,0 +1,10 @@ +# GetSessionHistoryResponseBody + +List of Plex Sessions + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | +| `MediaContainer` | [*operations.GetSessionHistoryMediaContainer](../../models/operations/getsessionhistorymediacontainer.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/operations/getsessionsmedia.md b/docs/models/operations/getsessionsmedia.md new file mode 100644 index 0000000..cd1887e --- /dev/null +++ b/docs/models/operations/getsessionsmedia.md @@ -0,0 +1,15 @@ +# GetSessionsMedia + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `AudioChannels` | **int* | :heavy_minus_sign: | N/A | 2 | +| `AudioCodec` | **string* | :heavy_minus_sign: | N/A | flac | +| `Bitrate` | **int* | :heavy_minus_sign: | N/A | 1014 | +| `Container` | **string* | :heavy_minus_sign: | N/A | flac | +| `Duration` | **int* | :heavy_minus_sign: | N/A | 186240 | +| `ID` | **string* | :heavy_minus_sign: | N/A | 130355 | +| `Selected` | **bool* | :heavy_minus_sign: | N/A | true | +| `Part` | [][operations.GetSessionsPart](../../models/operations/getsessionspart.md) | :heavy_minus_sign: | N/A | [{"Stream":[{"albumGain":"-12.94","albumPeak":"1.000000","albumRange":"4.751014","audioChannelLayout":"stereo","bitDepth":16,"bitrate":1014,"channels":2,"codec":"flac","displayTitle":"FLAC (Stereo)","extendedDisplayTitle":"FLAC (Stereo)","gain":"-12.94","id":"352487","index":0,"location":"direct","loudness":"-5.94","lra":"1.74","peak":"1.000000","samplingRate":44100,"selected":true,"streamType":2}],"container":"flac","decision":"directplay","duration":186240,"file":"/music/Green Day/Saviors (2024)/Green Day - Saviors - 01 - The American Dream Is Killing Me.flac","hasThumbnail":"1","id":"130625","key":"/library/parts/130625/1705543268/file.flac","selected":true,"size":23644000}] | \ No newline at end of file diff --git a/docs/models/operations/getsessionsmediacontainer.md b/docs/models/operations/getsessionsmediacontainer.md new file mode 100644 index 0000000..2cf39c9 --- /dev/null +++ b/docs/models/operations/getsessionsmediacontainer.md @@ -0,0 +1,9 @@ +# GetSessionsMediaContainer + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Size` | **int* | :heavy_minus_sign: | N/A | 1 | +| `Metadata` | [][operations.GetSessionsMetadata](../../models/operations/getsessionsmetadata.md) | :heavy_minus_sign: | N/A | [{"Media":[{"Part":[{"Stream":[{"albumGain":"-12.94","albumPeak":"1.000000","albumRange":"4.751014","audioChannelLayout":"stereo","bitDepth":16,"bitrate":1014,"channels":2,"codec":"flac","displayTitle":"FLAC (Stereo)","extendedDisplayTitle":"FLAC (Stereo)","gain":"-12.94","id":"352487","index":0,"location":"direct","loudness":"-5.94","lra":"1.74","peak":"1.000000","samplingRate":44100,"selected":true,"streamType":2}],"container":"flac","decision":"directplay","duration":186240,"file":"/music/Green Day/Saviors (2024)/Green Day - Saviors - 01 - The American Dream Is Killing Me.flac","hasThumbnail":"1","id":"130625","key":"/library/parts/130625/1705543268/file.flac","selected":true,"size":23644000}],"audioChannels":2,"audioCodec":"flac","bitrate":1014,"container":"flac","duration":186240,"id":"130355","selected":true}],"Player":{"address":"10.10.10.171","local":true,"machineIdentifier":"3tsdzir85m2onc3qyr255aq1","model":"standalone","platform":"windows","platformVersion":"10.0.22621","product":"Plex for Windows","profile":"Plex Desktop","relayed":false,"remotePublicAddress":"68.248.140.20","secure":true,"state":"playing","title":"DESKTOP-BL80MTD","userID":1,"version":"1.85.0.4071-21128b56"},"Session":{"bandwidth":1050,"id":"93h7e00ncblxncqw9lkfaoxi","location":"lan"},"User":{"id":"1","thumb":"https://plex.tv/users/844780fc6f8a26b5/avatar?c=1705853661","title":"Blindkitty38"},"addedAt":1705543312,"art":"/library/metadata/39904/art/1705310687","duration":186240,"grandparentArt":"/library/metadata/39904/art/1705310687","grandparentGuid":"plex://artist/5d07bbfd403c6402904a6480","grandparentKey":"/library/metadata/39904","grandparentRatingKey":"39904","grandparentThumb":"/library/metadata/39904/thumb/1705310687","grandparentTitle":"Green Day","guid":"plex://track/6535834f71f22f36f71a8e8f","index":1,"key":"/library/metadata/67085","librarySectionID":"3","librarySectionKey":"/library/sections/3","librarySectionTitle":"Music","musicAnalysisVersion":"1","parentGuid":"plex://album/65394d6d472b8ab03ef47f12","parentIndex":1,"parentKey":"/library/metadata/67084","parentRatingKey":"67084","parentStudio":"Reprise Records","parentThumb":"/library/metadata/67084/thumb/1705543314","parentTitle":"Saviors","parentYear":2024,"ratingCount":45885,"ratingKey":"67085","sessionKey":"203","thumb":"/library/metadata/67084/thumb/1705543314","title":"The American Dream Is Killing Me","titleSort":"American Dream Is Killing Me","type":"track","updatedAt":1705543314,"viewOffset":1000}] | \ No newline at end of file diff --git a/docs/models/operations/getsessionsmetadata.md b/docs/models/operations/getsessionsmetadata.md new file mode 100644 index 0000000..3856b14 --- /dev/null +++ b/docs/models/operations/getsessionsmetadata.md @@ -0,0 +1,44 @@ +# GetSessionsMetadata + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `AddedAt` | **int* | :heavy_minus_sign: | N/A | 1705543312 | +| `Art` | **string* | :heavy_minus_sign: | N/A | /library/metadata/39904/art/1705310687 | +| `Duration` | **int* | :heavy_minus_sign: | N/A | 186240 | +| `GrandparentArt` | **string* | :heavy_minus_sign: | N/A | /library/metadata/39904/art/1705310687 | +| `GrandparentGUID` | **string* | :heavy_minus_sign: | N/A | plex://artist/5d07bbfd403c6402904a6480 | +| `GrandparentKey` | **string* | :heavy_minus_sign: | N/A | /library/metadata/39904 | +| `GrandparentRatingKey` | **string* | :heavy_minus_sign: | N/A | 39904 | +| `GrandparentThumb` | **string* | :heavy_minus_sign: | N/A | /library/metadata/39904/thumb/1705310687 | +| `GrandparentTitle` | **string* | :heavy_minus_sign: | N/A | Green Day | +| `GUID` | **string* | :heavy_minus_sign: | N/A | plex://track/6535834f71f22f36f71a8e8f | +| `Index` | **int* | :heavy_minus_sign: | N/A | 1 | +| `Key` | **string* | :heavy_minus_sign: | N/A | /library/metadata/67085 | +| `LibrarySectionID` | **string* | :heavy_minus_sign: | N/A | 3 | +| `LibrarySectionKey` | **string* | :heavy_minus_sign: | N/A | /library/sections/3 | +| `LibrarySectionTitle` | **string* | :heavy_minus_sign: | N/A | Music | +| `MusicAnalysisVersion` | **string* | :heavy_minus_sign: | N/A | 1 | +| `ParentGUID` | **string* | :heavy_minus_sign: | N/A | plex://album/65394d6d472b8ab03ef47f12 | +| `ParentIndex` | **int* | :heavy_minus_sign: | N/A | 1 | +| `ParentKey` | **string* | :heavy_minus_sign: | N/A | /library/metadata/67084 | +| `ParentRatingKey` | **string* | :heavy_minus_sign: | N/A | 67084 | +| `ParentStudio` | **string* | :heavy_minus_sign: | N/A | Reprise Records | +| `ParentThumb` | **string* | :heavy_minus_sign: | N/A | /library/metadata/67084/thumb/1705543314 | +| `ParentTitle` | **string* | :heavy_minus_sign: | N/A | Saviors | +| `ParentYear` | **int* | :heavy_minus_sign: | N/A | 2024 | +| `RatingCount` | **int* | :heavy_minus_sign: | N/A | 45885 | +| `RatingKey` | **string* | :heavy_minus_sign: | N/A | 67085 | +| `SessionKey` | **string* | :heavy_minus_sign: | N/A | 203 | +| `Thumb` | **string* | :heavy_minus_sign: | N/A | /library/metadata/67084/thumb/1705543314 | +| `Title` | **string* | :heavy_minus_sign: | N/A | The American Dream Is Killing Me | +| `TitleSort` | **string* | :heavy_minus_sign: | N/A | American Dream Is Killing Me | +| `Type` | **string* | :heavy_minus_sign: | N/A | track | +| `UpdatedAt` | **int* | :heavy_minus_sign: | N/A | 1705543314 | +| `ViewOffset` | **int* | :heavy_minus_sign: | N/A | 1000 | +| `Media` | [][operations.GetSessionsMedia](../../models/operations/getsessionsmedia.md) | :heavy_minus_sign: | N/A | [{"Part":[{"Stream":[{"albumGain":"-12.94","albumPeak":"1.000000","albumRange":"4.751014","audioChannelLayout":"stereo","bitDepth":16,"bitrate":1014,"channels":2,"codec":"flac","displayTitle":"FLAC (Stereo)","extendedDisplayTitle":"FLAC (Stereo)","gain":"-12.94","id":"352487","index":0,"location":"direct","loudness":"-5.94","lra":"1.74","peak":"1.000000","samplingRate":44100,"selected":true,"streamType":2}],"container":"flac","decision":"directplay","duration":186240,"file":"/music/Green Day/Saviors (2024)/Green Day - Saviors - 01 - The American Dream Is Killing Me.flac","hasThumbnail":"1","id":"130625","key":"/library/parts/130625/1705543268/file.flac","selected":true,"size":23644000}],"audioChannels":2,"audioCodec":"flac","bitrate":1014,"container":"flac","duration":186240,"id":"130355","selected":true}] | +| `User` | [*operations.User](../../models/operations/user.md) | :heavy_minus_sign: | N/A | | +| `Player` | [*operations.Player](../../models/operations/player.md) | :heavy_minus_sign: | N/A | | +| `Session` | [*operations.Session](../../models/operations/session.md) | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/models/operations/getsessionspart.md b/docs/models/operations/getsessionspart.md new file mode 100644 index 0000000..41f4c92 --- /dev/null +++ b/docs/models/operations/getsessionspart.md @@ -0,0 +1,17 @@ +# GetSessionsPart + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `Container` | **string* | :heavy_minus_sign: | N/A | flac | +| `Duration` | **int* | :heavy_minus_sign: | N/A | 186240 | +| `File` | **string* | :heavy_minus_sign: | N/A | /music/Green Day/Saviors (2024)/Green Day - Saviors - 01 - The American Dream Is Killing Me.flac | +| `HasThumbnail` | **string* | :heavy_minus_sign: | N/A | 1 | +| `ID` | **string* | :heavy_minus_sign: | N/A | 130625 | +| `Key` | **string* | :heavy_minus_sign: | N/A | /library/parts/130625/1705543268/file.flac | +| `Size` | **int* | :heavy_minus_sign: | N/A | 23644000 | +| `Decision` | **string* | :heavy_minus_sign: | N/A | directplay | +| `Selected` | **bool* | :heavy_minus_sign: | N/A | true | +| `Stream` | [][operations.GetSessionsStream](../../models/operations/getsessionsstream.md) | :heavy_minus_sign: | N/A | [{"albumGain":"-12.94","albumPeak":"1.000000","albumRange":"4.751014","audioChannelLayout":"stereo","bitDepth":16,"bitrate":1014,"channels":2,"codec":"flac","displayTitle":"FLAC (Stereo)","extendedDisplayTitle":"FLAC (Stereo)","gain":"-12.94","id":"352487","index":0,"location":"direct","loudness":"-5.94","lra":"1.74","peak":"1.000000","samplingRate":44100,"selected":true,"streamType":2}] | \ No newline at end of file diff --git a/docs/models/operations/getsessionsresponse.md b/docs/models/operations/getsessionsresponse.md index 86a2b9d..61e4b6a 100644 --- a/docs/models/operations/getsessionsresponse.md +++ b/docs/models/operations/getsessionsresponse.md @@ -3,8 +3,9 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | -| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | -| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | -| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | \ No newline at end of file +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | +| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `Object` | [*operations.GetSessionsResponseBody](../../models/operations/getsessionsresponsebody.md) | :heavy_minus_sign: | List of Active Plex Sessions | \ No newline at end of file diff --git a/docs/models/operations/getsessionsresponsebody.md b/docs/models/operations/getsessionsresponsebody.md new file mode 100644 index 0000000..165bf3c --- /dev/null +++ b/docs/models/operations/getsessionsresponsebody.md @@ -0,0 +1,10 @@ +# GetSessionsResponseBody + +List of Active Plex Sessions + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | +| `MediaContainer` | [*operations.GetSessionsMediaContainer](../../models/operations/getsessionsmediacontainer.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/operations/getsessionsstream.md b/docs/models/operations/getsessionsstream.md new file mode 100644 index 0000000..1156282 --- /dev/null +++ b/docs/models/operations/getsessionsstream.md @@ -0,0 +1,27 @@ +# GetSessionsStream + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------- | ---------------------- | ---------------------- | ---------------------- | ---------------------- | +| `AlbumGain` | **string* | :heavy_minus_sign: | N/A | -12.94 | +| `AlbumPeak` | **string* | :heavy_minus_sign: | N/A | 1.000000 | +| `AlbumRange` | **string* | :heavy_minus_sign: | N/A | 4.751014 | +| `AudioChannelLayout` | **string* | :heavy_minus_sign: | N/A | stereo | +| `BitDepth` | **int* | :heavy_minus_sign: | N/A | 16 | +| `Bitrate` | **int* | :heavy_minus_sign: | N/A | 1014 | +| `Channels` | **int* | :heavy_minus_sign: | N/A | 2 | +| `Codec` | **string* | :heavy_minus_sign: | N/A | flac | +| `DisplayTitle` | **string* | :heavy_minus_sign: | N/A | FLAC (Stereo) | +| `ExtendedDisplayTitle` | **string* | :heavy_minus_sign: | N/A | FLAC (Stereo) | +| `Gain` | **string* | :heavy_minus_sign: | N/A | -12.94 | +| `ID` | **string* | :heavy_minus_sign: | N/A | 352487 | +| `Index` | **int* | :heavy_minus_sign: | N/A | 0 | +| `Loudness` | **string* | :heavy_minus_sign: | N/A | -5.94 | +| `Lra` | **string* | :heavy_minus_sign: | N/A | 1.74 | +| `Peak` | **string* | :heavy_minus_sign: | N/A | 1.000000 | +| `SamplingRate` | **int* | :heavy_minus_sign: | N/A | 44100 | +| `Selected` | **bool* | :heavy_minus_sign: | N/A | true | +| `StreamType` | **int* | :heavy_minus_sign: | N/A | 2 | +| `Location` | **string* | :heavy_minus_sign: | N/A | direct | \ No newline at end of file diff --git a/docs/models/operations/gettranscodesessionsmediacontainer.md b/docs/models/operations/gettranscodesessionsmediacontainer.md index 8fc23d6..65728e7 100644 --- a/docs/models/operations/gettranscodesessionsmediacontainer.md +++ b/docs/models/operations/gettranscodesessionsmediacontainer.md @@ -3,7 +3,7 @@ ## Fields -| Field | Type | Required | Description | Example | -| ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | -| `Size` | **float64* | :heavy_minus_sign: | N/A | 1 | -| `TranscodeSession` | [][operations.TranscodeSession](../../models/operations/transcodesession.md) | :heavy_minus_sign: | N/A | | \ No newline at end of file +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Size` | **int* | :heavy_minus_sign: | N/A | 1 | +| `TranscodeSession` | [][operations.TranscodeSession](../../models/operations/transcodesession.md) | :heavy_minus_sign: | N/A | [{"audioChannels":1,"audioCodec":"opus","audioDecision":"transcode","complete":false,"container":"mkv","context":"streaming","duration":1445695,"error":false,"key":"vv3i2q2lax92qlzul1hbd4bx","maxOffsetAvailable":29.53,"minOffsetAvailable":3.003000020980835,"progress":1.7999999523162842,"protocol":"http","remaining":53,"size":-22,"sourceAudioCodec":"aac","sourceVideoCodec":"h264","speed":25.100000381469727,"subtitleDecision":"burn","throttled":false,"timeStamp":1705895805.4919229,"transcodeHwRequested":true,"videoCodec":"h264","videoDecision":"transcode"}] | \ No newline at end of file diff --git a/docs/models/operations/getupdatestatusmediacontainer.md b/docs/models/operations/getupdatestatusmediacontainer.md new file mode 100644 index 0000000..c6ddecd --- /dev/null +++ b/docs/models/operations/getupdatestatusmediacontainer.md @@ -0,0 +1,13 @@ +# GetUpdateStatusMediaContainer + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Size` | **int* | :heavy_minus_sign: | N/A | 1 | +| `CanInstall` | **bool* | :heavy_minus_sign: | N/A | false | +| `CheckedAt` | **int* | :heavy_minus_sign: | N/A | 1705801232 | +| `DownloadURL` | **string* | :heavy_minus_sign: | N/A | https://plex.tv/downloads/latest/5?channel=8&build=linux-x86_64&distro=redhat&X-Plex-Token=xxxxxxxxxxxxxxxxxxxx | +| `Status` | **int* | :heavy_minus_sign: | N/A | 0 | +| `Release` | [][operations.Release](../../models/operations/release.md) | :heavy_minus_sign: | N/A | [{"added":"(PLEASE NOTE) This version makes changes to the database which will make it compatible only with server versions 1.31.2 or higher (released March 14). You will not be able to use your database on Plex Media Server versions lower than this after this update. Please also be patient when updating to this version if you have a very large database and allow the upgrade process to finish.\n(Collections) Items added to a collection from the item context menu will now lock the collection field on the items (#12793)\n(Music) Store track genres and add filtering options (#14653)\n(Music) Support ID3v2.4 null-separated tags for genres and release type (#14653)\n(View History) No longer create a view history entry for items marked as played (#10888)\n(Web) Updated to 4.118.0","downloadURL":"https://plex.tv/downloads/latest/5?channel=8\u0026build=linux-x86_64\u0026distro=redhat\u0026X-Plex-Token=xxxxxxxxxxxxxxxxxxxx","fixed":"(Agents) Changing a 'Other Videos' type library to the modern movie agent would fail (#14483)\n(Agents) It is possible that agents are not initialised during startup on rare occasions (#14654)\n(Agents) Remove the legacy OpenSubtitles agent which is no longer supported upstream (#14667)\n(Collection) Server could become unresponsive when collection membership changes (#14612)\n(DVR) Previously watched recordings could be deleted without being watched again (#13779)\n(Libraries) When performing fix match on items from certain music libraries the language would default to Arabic (#14501)\n(Library) The Content Rating not equal to None filter does not work (#14620)\n(Search) Album search results could contain all the album's tracks too (#14486)\n(Subtitles) In some circumstances, sidecar subtitles can show up for media when they're no longer available (#14674)\n(Transcoder) HW encoding would fail on devices with no rate control (#14222)\n(Transcoder) Software transcoding on Ubuntu could cause unexpected behavior (#14605)","key":"https://plex.tv/updater/releases/5136","state":"notify","version":"1.40.0.7775-456fbaf97"}] | \ No newline at end of file diff --git a/docs/models/operations/getupdatestatusresponse.md b/docs/models/operations/getupdatestatusresponse.md index a8fa277..054310c 100644 --- a/docs/models/operations/getupdatestatusresponse.md +++ b/docs/models/operations/getupdatestatusresponse.md @@ -3,8 +3,9 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | -| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | -| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | -| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | +| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `Object` | [*operations.GetUpdateStatusResponseBody](../../models/operations/getupdatestatusresponsebody.md) | :heavy_minus_sign: | The Server Updates | \ No newline at end of file diff --git a/docs/models/operations/getupdatestatusresponsebody.md b/docs/models/operations/getupdatestatusresponsebody.md new file mode 100644 index 0000000..a18bfc4 --- /dev/null +++ b/docs/models/operations/getupdatestatusresponsebody.md @@ -0,0 +1,10 @@ +# GetUpdateStatusResponseBody + +The Server Updates + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | +| `MediaContainer` | [*operations.GetUpdateStatusMediaContainer](../../models/operations/getupdatestatusmediacontainer.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/operations/guids.md b/docs/models/operations/guids.md index 4cf163a..41bbd54 100644 --- a/docs/models/operations/guids.md +++ b/docs/models/operations/guids.md @@ -5,4 +5,4 @@ | Field | Type | Required | Description | Example | | ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | -| `ID` | **string* | :heavy_minus_sign: | N/A | imdb://tt13303712 | \ No newline at end of file +| `ID` | **string* | :heavy_minus_sign: | N/A | tvdb://2337 | \ No newline at end of file diff --git a/docs/models/operations/hub.md b/docs/models/operations/hub.md new file mode 100644 index 0000000..ac4973c --- /dev/null +++ b/docs/models/operations/hub.md @@ -0,0 +1,18 @@ +# Hub + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `HubKey` | **string* | :heavy_minus_sign: | N/A | /library/metadata/50768,65523,58188,57341,57302,57070 | +| `Key` | **string* | :heavy_minus_sign: | N/A | /playlists/all?type=15&sort=lastViewedAt:desc&playlistType=video,audio | +| `Title` | **string* | :heavy_minus_sign: | N/A | Recent Playlists | +| `Type` | **string* | :heavy_minus_sign: | N/A | playlist | +| `HubIdentifier` | **string* | :heavy_minus_sign: | N/A | home.playlists | +| `Context` | **string* | :heavy_minus_sign: | N/A | hub.home.playlists | +| `Size` | **int* | :heavy_minus_sign: | N/A | 6 | +| `More` | **bool* | :heavy_minus_sign: | N/A | true | +| `Style` | **string* | :heavy_minus_sign: | N/A | shelf | +| `Promoted` | **bool* | :heavy_minus_sign: | N/A | true | +| `Metadata` | [][operations.GetGlobalHubsMetadata](../../models/operations/getglobalhubsmetadata.md) | :heavy_minus_sign: | N/A | [{"addedAt":1668779618,"composite":"/playlists/57070/composite/1668787730","duration":16873000,"guid":"com.plexapp.agents.none://9fee6c5b-3143-4923-813e-57bd0190056c","icon":"playlist://image.smart","key":"/playlists/57070/items","lastViewedAt":1668787732,"leafCount":3,"playlistType":"video","ratingKey":"57070","smart":false,"summary":"","title":"November Movie Day","titleSort":"Tracks","type":"playlist","updatedAt":1668787730,"viewCount":2}] | \ No newline at end of file diff --git a/docs/models/operations/level.md b/docs/models/operations/level.md index 7df5cc1..a42ea75 100644 --- a/docs/models/operations/level.md +++ b/docs/models/operations/level.md @@ -3,7 +3,7 @@ An integer log level to write to the PMS log with. 0: Error 1: Warning -2: Info +2: Info 3: Debug 4: Verbose diff --git a/docs/models/operations/loglinerequest.md b/docs/models/operations/loglinerequest.md index ad94711..23c41e5 100644 --- a/docs/models/operations/loglinerequest.md +++ b/docs/models/operations/loglinerequest.md @@ -3,8 +3,8 @@ ## Fields -| Field | Type | Required | Description | Example | -| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | -| `Level` | [operations.Level](../../models/operations/level.md) | :heavy_check_mark: | An integer log level to write to the PMS log with.
0: Error
1: Warning
2: Info
3: Debug
4: Verbose
| | -| `Message` | *string* | :heavy_check_mark: | The text of the message to write to the log. | | -| `Source` | *string* | :heavy_check_mark: | a string indicating the source of the message. | | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | +| `Level` | [operations.Level](../../models/operations/level.md) | :heavy_check_mark: | An integer log level to write to the PMS log with.
0: Error
1: Warning
2: Info
3: Debug
4: Verbose
| | +| `Message` | *string* | :heavy_check_mark: | The text of the message to write to the log. | Test log message | +| `Source` | *string* | :heavy_check_mark: | a string indicating the source of the message. | Postman | \ No newline at end of file diff --git a/docs/models/operations/player.md b/docs/models/operations/player.md new file mode 100644 index 0000000..0331bf4 --- /dev/null +++ b/docs/models/operations/player.md @@ -0,0 +1,22 @@ +# Player + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------ | ------------------------ | ------------------------ | ------------------------ | ------------------------ | +| `Address` | **string* | :heavy_minus_sign: | N/A | 10.10.10.171 | +| `MachineIdentifier` | **string* | :heavy_minus_sign: | N/A | 3tsdzir85m2onc3qyr255aq1 | +| `Model` | **string* | :heavy_minus_sign: | N/A | standalone | +| `Platform` | **string* | :heavy_minus_sign: | N/A | windows | +| `PlatformVersion` | **string* | :heavy_minus_sign: | N/A | 10.0.22621 | +| `Product` | **string* | :heavy_minus_sign: | N/A | Plex for Windows | +| `Profile` | **string* | :heavy_minus_sign: | N/A | Plex Desktop | +| `RemotePublicAddress` | **string* | :heavy_minus_sign: | N/A | 68.248.140.20 | +| `State` | **string* | :heavy_minus_sign: | N/A | playing | +| `Title` | **string* | :heavy_minus_sign: | N/A | DESKTOP-BL80MTD | +| `Version` | **string* | :heavy_minus_sign: | N/A | 1.85.0.4071-21128b56 | +| `Local` | **bool* | :heavy_minus_sign: | N/A | true | +| `Relayed` | **bool* | :heavy_minus_sign: | N/A | false | +| `Secure` | **bool* | :heavy_minus_sign: | N/A | true | +| `UserID` | **int* | :heavy_minus_sign: | N/A | 1 | \ No newline at end of file diff --git a/docs/models/operations/producer.md b/docs/models/operations/producer.md new file mode 100644 index 0000000..126a3a3 --- /dev/null +++ b/docs/models/operations/producer.md @@ -0,0 +1,12 @@ +# Producer + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `ID` | **int* | :heavy_minus_sign: | N/A | 221 | +| `Filter` | **string* | :heavy_minus_sign: | N/A | producer=221 | +| `Tag` | **string* | :heavy_minus_sign: | N/A | Barry Mendel | +| `TagKey` | **string* | :heavy_minus_sign: | N/A | 5d776826961905001eb90e2b | +| `Thumb` | **string* | :heavy_minus_sign: | N/A | https://metadata-static.plex.tv/8/people/87877371326a964634d18556d94547e1.jpg | \ No newline at end of file diff --git a/docs/models/operations/ratings.md b/docs/models/operations/ratings.md new file mode 100644 index 0000000..2816189 --- /dev/null +++ b/docs/models/operations/ratings.md @@ -0,0 +1,10 @@ +# Ratings + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------- | ------------------------- | ------------------------- | ------------------------- | ------------------------- | +| `Image` | **string* | :heavy_minus_sign: | N/A | themoviedb://image.rating | +| `Value` | **float64* | :heavy_minus_sign: | N/A | 7.4 | +| `Type` | **string* | :heavy_minus_sign: | N/A | audience | \ No newline at end of file diff --git a/docs/models/operations/release.md b/docs/models/operations/release.md new file mode 100644 index 0000000..d73a622 --- /dev/null +++ b/docs/models/operations/release.md @@ -0,0 +1,13 @@ +# Release + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Key` | **string* | :heavy_minus_sign: | N/A | https://plex.tv/updater/releases/5136 | +| `Version` | **string* | :heavy_minus_sign: | N/A | 1.40.0.7775-456fbaf97 | +| `Added` | **string* | :heavy_minus_sign: | N/A | (PLEASE NOTE) This version makes changes to the database which will make it compatible only with server versions 1.31.2 or higher (released March 14). You will not be able to use your database on Plex Media Server versions lower than this after this update. Please also be patient when updating to this version if you have a very large database and allow the upgrade process to finish.
(Collections) Items added to a collection from the item context menu will now lock the collection field on the items (#12793)
(Music) Store track genres and add filtering options (#14653)
(Music) Support ID3v2.4 null-separated tags for genres and release type (#14653)
(View History) No longer create a view history entry for items marked as played (#10888)
(Web) Updated to 4.118.0 | +| `Fixed` | **string* | :heavy_minus_sign: | N/A | (Agents) Changing a 'Other Videos' type library to the modern movie agent would fail (#14483)
(Agents) It is possible that agents are not initialised during startup on rare occasions (#14654)
(Agents) Remove the legacy OpenSubtitles agent which is no longer supported upstream (#14667)
(Collection) Server could become unresponsive when collection membership changes (#14612)
(DVR) Previously watched recordings could be deleted without being watched again (#13779)
(Libraries) When performing fix match on items from certain music libraries the language would default to Arabic (#14501)
(Library) The Content Rating not equal to None filter does not work (#14620)
(Search) Album search results could contain all the album's tracks too (#14486)
(Subtitles) In some circumstances, sidecar subtitles can show up for media when they're no longer available (#14674)
(Transcoder) HW encoding would fail on devices with no rate control (#14222)
(Transcoder) Software transcoding on Ubuntu could cause unexpected behavior (#14605) | +| `DownloadURL` | **string* | :heavy_minus_sign: | N/A | https://plex.tv/downloads/latest/5?channel=8&build=linux-x86_64&distro=redhat&X-Plex-Token=xxxxxxxxxxxxxxxxxxxx | +| `State` | **string* | :heavy_minus_sign: | N/A | notify | \ No newline at end of file diff --git a/docs/models/operations/session.md b/docs/models/operations/session.md new file mode 100644 index 0000000..8e1f5eb --- /dev/null +++ b/docs/models/operations/session.md @@ -0,0 +1,10 @@ +# Session + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------ | ------------------------ | ------------------------ | ------------------------ | ------------------------ | +| `ID` | **string* | :heavy_minus_sign: | N/A | 93h7e00ncblxncqw9lkfaoxi | +| `Bandwidth` | **int* | :heavy_minus_sign: | N/A | 1050 | +| `Location` | **string* | :heavy_minus_sign: | N/A | lan | \ No newline at end of file diff --git a/docs/models/operations/stream.md b/docs/models/operations/stream.md index 94f0fa3..b71bca5 100644 --- a/docs/models/operations/stream.md +++ b/docs/models/operations/stream.md @@ -5,26 +5,35 @@ | Field | Type | Required | Description | Example | | ---------------------- | ---------------------- | ---------------------- | ---------------------- | ---------------------- | -| `ID` | **float64* | :heavy_minus_sign: | N/A | 211234 | -| `StreamType` | **float64* | :heavy_minus_sign: | N/A | 1 | -| `Default` | **bool* | :heavy_minus_sign: | N/A | | -| `Codec` | **string* | :heavy_minus_sign: | N/A | hevc | -| `Index` | **float64* | :heavy_minus_sign: | N/A | 0 | -| `Bitrate` | **float64* | :heavy_minus_sign: | N/A | 918 | +| `ID` | **int* | :heavy_minus_sign: | N/A | 29 | +| `StreamType` | **int* | :heavy_minus_sign: | N/A | 2 | +| `Default` | **bool* | :heavy_minus_sign: | N/A | true | +| `Codec` | **string* | :heavy_minus_sign: | N/A | aac | +| `Index` | **int* | :heavy_minus_sign: | N/A | 0 | +| `Bitrate` | **int* | :heavy_minus_sign: | N/A | 128 | +| `BitDepth` | **int* | :heavy_minus_sign: | N/A | 8 | +| `ChromaLocation` | **string* | :heavy_minus_sign: | N/A | left | +| `ChromaSubsampling` | **string* | :heavy_minus_sign: | N/A | 14520 | +| `CodedHeight` | **int* | :heavy_minus_sign: | N/A | 816 | +| `CodedWidth` | **int* | :heavy_minus_sign: | N/A | 1920 | +| `ColorPrimaries` | **string* | :heavy_minus_sign: | N/A | bt709 | +| `ColorRange` | **string* | :heavy_minus_sign: | N/A | tv | +| `ColorSpace` | **string* | :heavy_minus_sign: | N/A | bt709 | +| `ColorTrc` | **string* | :heavy_minus_sign: | N/A | bt709 | +| `FrameRate` | **int* | :heavy_minus_sign: | N/A | 24 | +| `HasScalingMatrix` | **bool* | :heavy_minus_sign: | N/A | false | +| `Height` | **int* | :heavy_minus_sign: | N/A | 814 | +| `Level` | **int* | :heavy_minus_sign: | N/A | 40 | +| `Profile` | **string* | :heavy_minus_sign: | N/A | lc | +| `RefFrames` | **int* | :heavy_minus_sign: | N/A | 4 | +| `ScanType` | **string* | :heavy_minus_sign: | N/A | progressive | +| `StreamIdentifier` | **string* | :heavy_minus_sign: | N/A | 1 | +| `Width` | **int* | :heavy_minus_sign: | N/A | 1920 | +| `DisplayTitle` | **string* | :heavy_minus_sign: | N/A | English (AAC Stereo) | +| `ExtendedDisplayTitle` | **string* | :heavy_minus_sign: | N/A | English (AAC Stereo) | +| `Selected` | **bool* | :heavy_minus_sign: | N/A | true | +| `Channels` | **int* | :heavy_minus_sign: | N/A | 2 | | `Language` | **string* | :heavy_minus_sign: | N/A | English | | `LanguageTag` | **string* | :heavy_minus_sign: | N/A | en | | `LanguageCode` | **string* | :heavy_minus_sign: | N/A | eng | -| `BitDepth` | **float64* | :heavy_minus_sign: | N/A | 8 | -| `ChromaLocation` | **string* | :heavy_minus_sign: | N/A | left | -| `ChromaSubsampling` | **string* | :heavy_minus_sign: | N/A | 4:2:0 | -| `CodedHeight` | **float64* | :heavy_minus_sign: | N/A | 1080 | -| `CodedWidth` | **float64* | :heavy_minus_sign: | N/A | 1920 | -| `ColorRange` | **string* | :heavy_minus_sign: | N/A | tv | -| `FrameRate` | **float64* | :heavy_minus_sign: | N/A | 25 | -| `Height` | **float64* | :heavy_minus_sign: | N/A | 1080 | -| `Level` | **float64* | :heavy_minus_sign: | N/A | 120 | -| `Profile` | **string* | :heavy_minus_sign: | N/A | main | -| `RefFrames` | **float64* | :heavy_minus_sign: | N/A | 1 | -| `Width` | **float64* | :heavy_minus_sign: | N/A | 1920 | -| `DisplayTitle` | **string* | :heavy_minus_sign: | N/A | 1080p (HEVC Main) | -| `ExtendedDisplayTitle` | **string* | :heavy_minus_sign: | N/A | 1080p (HEVC Main) | \ No newline at end of file +| `SamplingRate` | **int* | :heavy_minus_sign: | N/A | 44100 | \ No newline at end of file diff --git a/docs/models/operations/tag.md b/docs/models/operations/tag.md new file mode 100644 index 0000000..5b7c3b1 --- /dev/null +++ b/docs/models/operations/tag.md @@ -0,0 +1,29 @@ +# Tag + +A key representing a specific tag within the section. + + +## Values + +| Name | Value | +| --------------------- | --------------------- | +| `TagAll` | all | +| `TagUnwatched` | unwatched | +| `TagNewest` | newest | +| `TagRecentlyAdded` | recentlyAdded | +| `TagRecentlyViewed` | recentlyViewed | +| `TagOnDeck` | onDeck | +| `TagCollection` | collection | +| `TagEdition` | edition | +| `TagGenre` | genre | +| `TagYear` | year | +| `TagDecade` | decade | +| `TagDirector` | director | +| `TagActor` | actor | +| `TagCountry` | country | +| `TagContentRating` | contentRating | +| `TagRating` | rating | +| `TagResolution` | resolution | +| `TagFirstCharacter` | firstCharacter | +| `TagFolder` | folder | +| `TagSearchTypeEqual1` | search?type=1 | \ No newline at end of file diff --git a/docs/models/operations/transcodesession.md b/docs/models/operations/transcodesession.md index 44873f2..b97ed9a 100644 --- a/docs/models/operations/transcodesession.md +++ b/docs/models/operations/transcodesession.md @@ -5,25 +5,27 @@ | Field | Type | Required | Description | Example | | ------------------------ | ------------------------ | ------------------------ | ------------------------ | ------------------------ | -| `Key` | **string* | :heavy_minus_sign: | N/A | zz7llzqlx8w9vnrsbnwhbmep | -| `Throttled` | **bool* | :heavy_minus_sign: | N/A | | -| `Complete` | **bool* | :heavy_minus_sign: | N/A | | -| `Progress` | **float64* | :heavy_minus_sign: | N/A | 0.4000000059604645 | -| `Size` | **float64* | :heavy_minus_sign: | N/A | -22 | -| `Speed` | **float64* | :heavy_minus_sign: | N/A | 22.399999618530273 | -| `Error` | **bool* | :heavy_minus_sign: | N/A | | -| `Duration` | **float64* | :heavy_minus_sign: | N/A | 2561768 | +| `Key` | **string* | :heavy_minus_sign: | N/A | vv3i2q2lax92qlzul1hbd4bx | +| `Throttled` | **bool* | :heavy_minus_sign: | N/A | false | +| `Complete` | **bool* | :heavy_minus_sign: | N/A | false | +| `Progress` | **float64* | :heavy_minus_sign: | N/A | 1.7999999523162842 | +| `Size` | **int* | :heavy_minus_sign: | N/A | -22 | +| `Speed` | **float64* | :heavy_minus_sign: | N/A | 25.100000381469727 | +| `Error` | **bool* | :heavy_minus_sign: | N/A | false | +| `Duration` | **int* | :heavy_minus_sign: | N/A | 1445695 | +| `Remaining` | **int* | :heavy_minus_sign: | N/A | 53 | | `Context` | **string* | :heavy_minus_sign: | N/A | streaming | | `SourceVideoCodec` | **string* | :heavy_minus_sign: | N/A | h264 | -| `SourceAudioCodec` | **string* | :heavy_minus_sign: | N/A | ac3 | +| `SourceAudioCodec` | **string* | :heavy_minus_sign: | N/A | aac | | `VideoDecision` | **string* | :heavy_minus_sign: | N/A | transcode | | `AudioDecision` | **string* | :heavy_minus_sign: | N/A | transcode | +| `SubtitleDecision` | **string* | :heavy_minus_sign: | N/A | burn | | `Protocol` | **string* | :heavy_minus_sign: | N/A | http | | `Container` | **string* | :heavy_minus_sign: | N/A | mkv | | `VideoCodec` | **string* | :heavy_minus_sign: | N/A | h264 | | `AudioCodec` | **string* | :heavy_minus_sign: | N/A | opus | -| `AudioChannels` | **float64* | :heavy_minus_sign: | N/A | 2 | -| `TranscodeHwRequested` | **bool* | :heavy_minus_sign: | N/A | | -| `TimeStamp` | **float64* | :heavy_minus_sign: | N/A | 1.6818695357764285e+09 | -| `MaxOffsetAvailable` | **float64* | :heavy_minus_sign: | N/A | 861.778 | -| `MinOffsetAvailable` | **float64* | :heavy_minus_sign: | N/A | 0 | \ No newline at end of file +| `AudioChannels` | **int* | :heavy_minus_sign: | N/A | 1 | +| `TranscodeHwRequested` | **bool* | :heavy_minus_sign: | N/A | true | +| `TimeStamp` | **float64* | :heavy_minus_sign: | N/A | 1.7058958054919229e+09 | +| `MaxOffsetAvailable` | **float64* | :heavy_minus_sign: | N/A | 29.53 | +| `MinOffsetAvailable` | **float64* | :heavy_minus_sign: | N/A | 3.003000020980835 | \ No newline at end of file diff --git a/docs/models/operations/updateplaylistrequest.md b/docs/models/operations/updateplaylistrequest.md index 9e3d12e..67c832d 100644 --- a/docs/models/operations/updateplaylistrequest.md +++ b/docs/models/operations/updateplaylistrequest.md @@ -3,6 +3,8 @@ ## Fields -| Field | Type | Required | Description | -| ---------------------- | ---------------------- | ---------------------- | ---------------------- | -| `PlaylistID` | *float64* | :heavy_check_mark: | the ID of the playlist | \ No newline at end of file +| Field | Type | Required | Description | +| ----------------------------------- | ----------------------------------- | ----------------------------------- | ----------------------------------- | +| `PlaylistID` | *float64* | :heavy_check_mark: | the ID of the playlist | +| `Title` | **string* | :heavy_minus_sign: | name of the playlist | +| `Summary` | **string* | :heavy_minus_sign: | summary description of the playlist | \ No newline at end of file diff --git a/docs/models/operations/uploadplaylistrequest.md b/docs/models/operations/uploadplaylistrequest.md index 760871b..d6f37d3 100644 --- a/docs/models/operations/uploadplaylistrequest.md +++ b/docs/models/operations/uploadplaylistrequest.md @@ -6,4 +6,4 @@ | Field | Type | Required | Description | Example | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `Path` | *string* | :heavy_check_mark: | absolute path to a directory on the server where m3u files are stored, or the absolute path to a playlist file on the server.
If the `path` argument is a directory, that path will be scanned for playlist files to be processed.
Each file in that directory creates a separate playlist, with a name based on the filename of the file that created it.
The GUID of each playlist is based on the filename.
If the `path` argument is a file, that file will be used to create a new playlist, with the name based on the filename of the file that created it.
The GUID of each playlist is based on the filename.
| /home/barkley/playlist.m3u | -| `Force` | [operations.Force](../../models/operations/force.md) | :heavy_check_mark: | force overwriting of duplicate playlists. By default, a playlist file uploaded with the same path will overwrite the existing playlist.
The `force` argument is used to disable overwriting. If the `force` argument is set to 0, a new playlist will be created suffixed with the date and time that the duplicate was uploaded.
| | \ No newline at end of file +| `Force` | [operations.Force](../../models/operations/force.md) | :heavy_check_mark: | Force overwriting of duplicate playlists.
By default, a playlist file uploaded with the same path will overwrite the existing playlist.
The `force` argument is used to disable overwriting.
If the `force` argument is set to 0, a new playlist will be created suffixed with the date and time that the duplicate was uploaded.
| | \ No newline at end of file diff --git a/docs/models/operations/user.md b/docs/models/operations/user.md new file mode 100644 index 0000000..6362d9a --- /dev/null +++ b/docs/models/operations/user.md @@ -0,0 +1,10 @@ +# User + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | +| `ID` | **string* | :heavy_minus_sign: | N/A | 1 | +| `Thumb` | **string* | :heavy_minus_sign: | N/A | https://plex.tv/users/844780fc6f8a26b5/avatar?c=1705853661 | +| `Title` | **string* | :heavy_minus_sign: | N/A | Blindkitty38 | \ No newline at end of file diff --git a/docs/models/sdkerrors/getcommonlibraryitemserrors.md b/docs/models/sdkerrors/getcommonlibraryitemserrors.md deleted file mode 100644 index 5a42f2a..0000000 --- a/docs/models/sdkerrors/getcommonlibraryitemserrors.md +++ /dev/null @@ -1,10 +0,0 @@ -# GetCommonLibraryItemsErrors - - -## Fields - -| Field | Type | Required | Description | Example | -| ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | -| `Code` | **float64* | :heavy_minus_sign: | N/A | 1001 | -| `Message` | **string* | :heavy_minus_sign: | N/A | User could not be authenticated | -| `Status` | **float64* | :heavy_minus_sign: | N/A | 401 | \ No newline at end of file diff --git a/docs/models/sdkerrors/getcommonlibraryitemsresponsebody.md b/docs/models/sdkerrors/getcommonlibraryitemsresponsebody.md deleted file mode 100644 index aab78ec..0000000 --- a/docs/models/sdkerrors/getcommonlibraryitemsresponsebody.md +++ /dev/null @@ -1,11 +0,0 @@ -# GetCommonLibraryItemsResponseBody - -Unauthorized - Returned if the X-Plex-Token is missing from the header or query. - - -## Fields - -| Field | Type | Required | Description | -| ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | -| `Errors` | [][sdkerrors.GetCommonLibraryItemsErrors](../../models/sdkerrors/getcommonlibraryitemserrors.md) | :heavy_minus_sign: | N/A | -| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing | \ No newline at end of file diff --git a/docs/models/sdkerrors/getlatestlibraryitemserrors.md b/docs/models/sdkerrors/getlatestlibraryitemserrors.md deleted file mode 100644 index 0663a36..0000000 --- a/docs/models/sdkerrors/getlatestlibraryitemserrors.md +++ /dev/null @@ -1,10 +0,0 @@ -# GetLatestLibraryItemsErrors - - -## Fields - -| Field | Type | Required | Description | Example | -| ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | -| `Code` | **float64* | :heavy_minus_sign: | N/A | 1001 | -| `Message` | **string* | :heavy_minus_sign: | N/A | User could not be authenticated | -| `Status` | **float64* | :heavy_minus_sign: | N/A | 401 | \ No newline at end of file diff --git a/docs/models/sdkerrors/getlatestlibraryitemsresponsebody.md b/docs/models/sdkerrors/getlatestlibraryitemsresponsebody.md deleted file mode 100644 index a38e709..0000000 --- a/docs/models/sdkerrors/getlatestlibraryitemsresponsebody.md +++ /dev/null @@ -1,11 +0,0 @@ -# GetLatestLibraryItemsResponseBody - -Unauthorized - Returned if the X-Plex-Token is missing from the header or query. - - -## Fields - -| Field | Type | Required | Description | -| ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | -| `Errors` | [][sdkerrors.GetLatestLibraryItemsErrors](../../models/sdkerrors/getlatestlibraryitemserrors.md) | :heavy_minus_sign: | N/A | -| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing | \ No newline at end of file diff --git a/docs/models/sdkerrors/getlibraryitemserrors.md b/docs/models/sdkerrors/getlibraryitemserrors.md deleted file mode 100644 index 21428b6..0000000 --- a/docs/models/sdkerrors/getlibraryitemserrors.md +++ /dev/null @@ -1,10 +0,0 @@ -# GetLibraryItemsErrors - - -## Fields - -| Field | Type | Required | Description | Example | -| ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | -| `Code` | **float64* | :heavy_minus_sign: | N/A | 1001 | -| `Message` | **string* | :heavy_minus_sign: | N/A | User could not be authenticated | -| `Status` | **float64* | :heavy_minus_sign: | N/A | 401 | \ No newline at end of file diff --git a/docs/models/sdkerrors/getlibraryitemsresponsebody.md b/docs/models/sdkerrors/getlibraryitemsresponsebody.md deleted file mode 100644 index 292d36b..0000000 --- a/docs/models/sdkerrors/getlibraryitemsresponsebody.md +++ /dev/null @@ -1,11 +0,0 @@ -# GetLibraryItemsResponseBody - -Unauthorized - Returned if the X-Plex-Token is missing from the header or query. - - -## Fields - -| Field | Type | Required | Description | -| ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | -| `Errors` | [][sdkerrors.GetLibraryItemsErrors](../../models/sdkerrors/getlibraryitemserrors.md) | :heavy_minus_sign: | N/A | -| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing | \ No newline at end of file diff --git a/docs/sdks/hubs/README.md b/docs/sdks/hubs/README.md index 0d6e3a6..f7f7618 100644 --- a/docs/sdks/hubs/README.md +++ b/docs/sdks/hubs/README.md @@ -26,7 +26,6 @@ import( "github.com/LukeHagar/plexgo/models/operations" "context" "log" - "net/http" ) func main() { @@ -45,7 +44,7 @@ func main() { log.Fatal(err) } - if res.StatusCode == http.StatusOK { + if res.Object != nil { // handle response } } @@ -84,7 +83,6 @@ import( "github.com/LukeHagar/plexgo/models/operations" "context" "log" - "net/http" ) func main() { @@ -105,7 +103,7 @@ func main() { log.Fatal(err) } - if res.StatusCode == http.StatusOK { + if res.Object != nil { // handle response } } diff --git a/docs/sdks/library/README.md b/docs/sdks/library/README.md index 139b916..6dc7036 100644 --- a/docs/sdks/library/README.md +++ b/docs/sdks/library/README.md @@ -15,8 +15,6 @@ API Calls interacting with Plex Media Server Libraries * [DeleteLibrary](#deletelibrary) - Delete Library Section * [GetLibraryItems](#getlibraryitems) - Get Library Items * [RefreshLibrary](#refreshlibrary) - Refresh Library -* [GetLatestLibraryItems](#getlatestlibraryitems) - Get Latest Library Items -* [GetCommonLibraryItems](#getcommonlibraryitems) - Get Common Library Items * [GetMetadata](#getmetadata) - Get Items Metadata * [GetMetadataChildren](#getmetadatachildren) - Get Items Children * [GetOnDeck](#getondeck) - Get On Deck @@ -182,25 +180,45 @@ func main() { ## GetLibrary -Returns details for the library. This can be thought of as an interstitial endpoint because it contains information about the library, rather than content itself. These details are: +## Library Details Endpoint -- A list of `Directory` objects: These used to be used by clients to build a menuing system. There are four flavors of directory found here: - - Primary: (e.g. all, On Deck) These are still used in some clients to provide "shortcuts" to subsets of media. However, with the exception of On Deck, all of them can be created by media queries, and the desire is to allow these to be customized by users. - - Secondary: These are marked with `secondary="1"` and were used by old clients to provide nested menus allowing for primative (but structured) navigation. - - Special: There is a By Folder entry which allows browsing the media by the underlying filesystem structure, and there's a completely obsolete entry marked `search="1"` which used to be used to allow clients to build search dialogs on the fly. -- A list of `Type` objects: These represent the types of things found in this library, and for each one, a list of `Filter` and `Sort` objects. These can be used to build rich controls around a grid of media to allow filtering and organizing. Note that these filters and sorts are optional, and without them, the client won't render any filtering controls. The `Type` object contains: - - `key`: This provides the root endpoint returning the actual media list for the type. - - `type`: This is the metadata type for the type (if a standard Plex type). - - `title`: The title for for the content of this type (e.g. "Movies"). -- Each `Filter` object contains a description of the filter. Note that it is not an exhaustive list of the full media query language, but an inportant subset useful for top-level API. - - `filter`: This represents the filter name used for the filter, which can be used to construct complex media queries with. - - `filterType`: This is either `string`, `integer`, or `boolean`, and describes the type of values used for the filter. - - `key`: This provides the endpoint where the possible range of values for the filter can be retrieved (e.g. for a "Genre" filter, it returns a list of all the genres in the library). This will include a `type` argument that matches the metadata type of the Type element. - - `title`: The title for the filter. -- Each `Sort` object contains a description of the sort field. - - `defaultDirection`: Can be either `asc` or `desc`, and specifies the default direction for the sort field (e.g. titles default to alphabetically ascending). - - `descKey` and `key`: Contains the parameters passed to the `sort=...` media query for each direction of the sort. - - `title`: The title of the field. +This endpoint provides comprehensive details about the library, focusing on organizational aspects rather than the content itself. + +The details include: + +### Directories +Organized into three categories: + +- **Primary Directories**: + - Used in some clients for quick access to media subsets (e.g., "All", "On Deck"). + - Most can be replicated via media queries. + - Customizable by users. + +- **Secondary Directories**: + - Marked with `secondary="1"`. + - Used in older clients for structured navigation. + +- **Special Directories**: + - Includes a "By Folder" entry for filesystem-based browsing. + - Contains an obsolete `search="1"` entry for on-the-fly search dialog creation. + +### Types +Each type in the library comes with a set of filters and sorts, aiding in building dynamic media controls: + +- **Type Object Attributes**: + - `key`: Endpoint for the media list of this type. + - `type`: Metadata type (if standard Plex type). + - `title`: Title for this content type (e.g., "Movies"). + +- **Filter Objects**: + - Subset of the media query language. + - Attributes include `filter` (name), `filterType` (data type), `key` (endpoint for value range), and `title`. + +- **Sort Objects**: + - Description of sort fields. + - Attributes include `defaultDirection` (asc/desc), `descKey` and `key` (sort parameters), and `title`. + +> **Note**: Filters and sorts are optional; without them, no filtering controls are rendered. ### Example Usage @@ -310,7 +328,27 @@ func main() { ## GetLibraryItems -This endpoint will return a list of library items filtered by the filter and type provided +Fetches details from a specific section of the library identified by a section key and a tag. The tag parameter accepts the following values: +- `all`: All items in the section. +- `unwatched`: Items that have not been played. +- `newest`: Items that are recently released. +- `recentlyAdded`: Items that are recently added to the library. +- `recentlyViewed`: Items that were recently viewed. +- `onDeck`: Items to continue watching. +- `collection`: Items categorized by collection. +- `edition`: Items categorized by edition. +- `genre`: Items categorized by genre. +- `year`: Items categorized by year of release. +- `decade`: Items categorized by decade. +- `director`: Items categorized by director. +- `actor`: Items categorized by starring actor. +- `country`: Items categorized by country of origin. +- `contentRating`: Items categorized by content rating. +- `rating`: Items categorized by rating. +- `resolution`: Items categorized by resolution. +- `firstCharacter`: Items categorized by the first letter. +- `folder`: Items categorized by folder. +- `search?type=1`: Search functionality within the section. ### Example Usage @@ -321,9 +359,9 @@ package main import( "github.com/LukeHagar/plexgo/models/components" "github.com/LukeHagar/plexgo" + "github.com/LukeHagar/plexgo/models/operations" "context" "log" - "net/http" ) func main() { @@ -332,19 +370,17 @@ func main() { ) - var sectionID float64 = 4510.92 + var sectionID int64 = 451092 - var type_ *float64 = 760.66 - - var filter *string = "string" + var tag operations.Tag = operations.TagUnwatched ctx := context.Background() - res, err := s.Library.GetLibraryItems(ctx, sectionID, type_, filter) + res, err := s.Library.GetLibraryItems(ctx, sectionID, tag) if err != nil { log.Fatal(err) } - if res.StatusCode == http.StatusOK { + if res.Object != nil { // handle response } } @@ -355,18 +391,16 @@ func main() { | Parameter | Type | Required | Description | | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | | `ctx` | [context.Context](https://pkg.go.dev/context#Context) | :heavy_check_mark: | The context to use for the request. | -| `sectionID` | *float64* | :heavy_check_mark: | the Id of the library to query | -| `type_` | **float64* | :heavy_minus_sign: | item type | -| `filter` | **string* | :heavy_minus_sign: | the filter parameter | +| `sectionID` | *int64* | :heavy_check_mark: | the Id of the library to query | +| `tag` | [operations.Tag](../../models/operations/tag.md) | :heavy_check_mark: | A key representing a specific tag within the section. | ### Response **[*operations.GetLibraryItemsResponse](../../models/operations/getlibraryitemsresponse.md), error** -| Error Object | Status Code | Content Type | -| ------------------------------------- | ------------------------------------- | ------------------------------------- | -| sdkerrors.GetLibraryItemsResponseBody | 401 | application/json | -| sdkerrors.SDKError | 4xx-5xx | */* | +| Error Object | Status Code | Content Type | +| ------------------ | ------------------ | ------------------ | +| sdkerrors.SDKError | 4xx-5xx | */* | ## RefreshLibrary @@ -422,126 +456,6 @@ func main() { | sdkerrors.RefreshLibraryResponseBody | 401 | application/json | | sdkerrors.SDKError | 4xx-5xx | */* | -## GetLatestLibraryItems - -This endpoint will return a list of the latest library items filtered by the filter and type provided - - -### Example Usage - -```go -package main - -import( - "github.com/LukeHagar/plexgo/models/components" - "github.com/LukeHagar/plexgo" - "context" - "log" - "net/http" -) - -func main() { - s := plexgo.New( - plexgo.WithSecurity(""), - ) - - - var sectionID float64 = 7171.54 - - var type_ float64 = 8015.12 - - var filter *string = "string" - - ctx := context.Background() - res, err := s.Library.GetLatestLibraryItems(ctx, sectionID, type_, filter) - if err != nil { - log.Fatal(err) - } - - if res.StatusCode == http.StatusOK { - // handle response - } -} -``` - -### Parameters - -| Parameter | Type | Required | Description | -| ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | -| `ctx` | [context.Context](https://pkg.go.dev/context#Context) | :heavy_check_mark: | The context to use for the request. | -| `sectionID` | *float64* | :heavy_check_mark: | the Id of the library to query | -| `type_` | *float64* | :heavy_check_mark: | item type | -| `filter` | **string* | :heavy_minus_sign: | the filter parameter | - - -### Response - -**[*operations.GetLatestLibraryItemsResponse](../../models/operations/getlatestlibraryitemsresponse.md), error** -| Error Object | Status Code | Content Type | -| ------------------------------------------- | ------------------------------------------- | ------------------------------------------- | -| sdkerrors.GetLatestLibraryItemsResponseBody | 401 | application/json | -| sdkerrors.SDKError | 4xx-5xx | */* | - -## GetCommonLibraryItems - -Represents a "Common" item. It contains only the common attributes of the items selected by the provided filter - - -### Example Usage - -```go -package main - -import( - "github.com/LukeHagar/plexgo/models/components" - "github.com/LukeHagar/plexgo" - "context" - "log" - "net/http" -) - -func main() { - s := plexgo.New( - plexgo.WithSecurity(""), - ) - - - var sectionID float64 = 2710.37 - - var type_ float64 = 2760.31 - - var filter *string = "string" - - ctx := context.Background() - res, err := s.Library.GetCommonLibraryItems(ctx, sectionID, type_, filter) - if err != nil { - log.Fatal(err) - } - - if res.StatusCode == http.StatusOK { - // handle response - } -} -``` - -### Parameters - -| Parameter | Type | Required | Description | -| ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | -| `ctx` | [context.Context](https://pkg.go.dev/context#Context) | :heavy_check_mark: | The context to use for the request. | -| `sectionID` | *float64* | :heavy_check_mark: | the Id of the library to query | -| `type_` | *float64* | :heavy_check_mark: | item type | -| `filter` | **string* | :heavy_minus_sign: | the filter parameter | - - -### Response - -**[*operations.GetCommonLibraryItemsResponse](../../models/operations/getcommonlibraryitemsresponse.md), error** -| Error Object | Status Code | Content Type | -| ------------------------------------------- | ------------------------------------------- | ------------------------------------------- | -| sdkerrors.GetCommonLibraryItemsResponseBody | 401 | application/json | -| sdkerrors.SDKError | 4xx-5xx | */* | - ## GetMetadata This endpoint will return the metadata of a library item specified with the ratingKey. @@ -557,7 +471,6 @@ import( "github.com/LukeHagar/plexgo" "context" "log" - "net/http" ) func main() { @@ -574,7 +487,7 @@ func main() { log.Fatal(err) } - if res.StatusCode == http.StatusOK { + if res.Object != nil { // handle response } } @@ -611,7 +524,6 @@ import( "github.com/LukeHagar/plexgo" "context" "log" - "net/http" ) func main() { @@ -628,7 +540,7 @@ func main() { log.Fatal(err) } - if res.StatusCode == http.StatusOK { + if res.Object != nil { // handle response } } diff --git a/docs/sdks/log/README.md b/docs/sdks/log/README.md index f63860d..0b7dd3f 100644 --- a/docs/sdks/log/README.md +++ b/docs/sdks/log/README.md @@ -39,9 +39,9 @@ func main() { var level operations.Level = operations.LevelThree - var message string = "string" + var message string = "Test log message" - var source string = "string" + var source string = "Postman" ctx := context.Background() res, err := s.Log.LogLine(ctx, level, message, source) @@ -57,12 +57,12 @@ func main() { ### Parameters -| Parameter | Type | Required | Description | Example | -| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | -| `ctx` | [context.Context](https://pkg.go.dev/context#Context) | :heavy_check_mark: | The context to use for the request. | | -| `level` | [operations.Level](../../models/operations/level.md) | :heavy_check_mark: | An integer log level to write to the PMS log with.
0: Error
1: Warning
2: Info
3: Debug
4: Verbose
| | -| `message` | *string* | :heavy_check_mark: | The text of the message to write to the log. | | -| `source` | *string* | :heavy_check_mark: | a string indicating the source of the message. | | +| Parameter | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | +| `ctx` | [context.Context](https://pkg.go.dev/context#Context) | :heavy_check_mark: | The context to use for the request. | | +| `level` | [operations.Level](../../models/operations/level.md) | :heavy_check_mark: | An integer log level to write to the PMS log with.
0: Error
1: Warning
2: Info
3: Debug
4: Verbose
| | +| `message` | *string* | :heavy_check_mark: | The text of the message to write to the log. | Test log message | +| `source` | *string* | :heavy_check_mark: | a string indicating the source of the message. | Postman | ### Response @@ -75,7 +75,27 @@ func main() { ## LogMultiLine -This endpoint will write multiple lines to the main Plex Media Server log in a single request. It takes a set of query strings as would normally sent to the above GET endpoint as a linefeed-separated block of POST data. The parameters for each query string match as above. +This endpoint allows for the batch addition of log entries to the main Plex Media Server log. +It accepts a text/plain request body, where each line represents a distinct log entry. +Each log entry consists of URL-encoded key-value pairs, specifying log attributes such as 'level', 'message', and 'source'. + +Log entries are separated by a newline character (`\n`). +Each entry's parameters should be URL-encoded to ensure accurate parsing and handling of special characters. +This method is efficient for logging multiple entries in a single API call, reducing the overhead of multiple individual requests. + +The 'level' parameter specifies the log entry's severity or importance, with the following integer values: +- `0`: Error - Critical issues that require immediate attention. +- `1`: Warning - Important events that are not critical but may indicate potential issues. +- `2`: Info - General informational messages about system operation. +- `3`: Debug - Detailed information useful for debugging purposes. +- `4`: Verbose - Highly detailed diagnostic information for in-depth analysis. + +The 'message' parameter contains the log text, and 'source' identifies the log message's origin (e.g., an application name or module). + +Example of a single log entry format: +`level=4&message=Sample%20log%20entry&source=applicationName` + +Ensure each parameter is properly URL-encoded to avoid interpretation issues. ### Example Usage @@ -97,7 +117,9 @@ func main() { ) ctx := context.Background() - res, err := s.Log.LogMultiLine(ctx) + res, err := s.Log.LogMultiLine(ctx, "level=4&message=Test%20message%201&source=postman +level=3&message=Test%20message%202&source=postman +level=1&message=Test%20message%203&source=postman") if err != nil { log.Fatal(err) } @@ -113,6 +135,7 @@ func main() { | Parameter | Type | Required | Description | | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | | `ctx` | [context.Context](https://pkg.go.dev/context#Context) | :heavy_check_mark: | The context to use for the request. | +| `request` | [string](../../.md) | :heavy_check_mark: | The request object to use for the request. | ### Response diff --git a/docs/sdks/playlists/README.md b/docs/sdks/playlists/README.md index 82946e8..f8da910 100644 --- a/docs/sdks/playlists/README.md +++ b/docs/sdks/playlists/README.md @@ -24,7 +24,7 @@ This may cause the duration and number of items to change. ## CreatePlaylist Create a new playlist. By default the playlist is blank. To create a playlist along with a first item, pass: -- `uri` - The content URI for what we're playing (e.g. `library://...`). +- `uri` - The content URI for what we're playing (e.g. `server://1234/com.plexapp.plugins.library/library/metadata/1`). - `playQueueID` - To create a playlist from an existing play queue. @@ -39,7 +39,6 @@ import( "context" "github.com/LukeHagar/plexgo/models/operations" "log" - "net/http" ) func main() { @@ -52,12 +51,13 @@ func main() { Title: "string", Type: operations.TypePhoto, Smart: operations.SmartOne, + URI: "https://inborn-brochure.biz", }) if err != nil { log.Fatal(err) } - if res.StatusCode == http.StatusOK { + if res.Object != nil { // handle response } } @@ -94,7 +94,6 @@ import( "github.com/LukeHagar/plexgo/models/operations" "context" "log" - "net/http" ) func main() { @@ -113,7 +112,7 @@ func main() { log.Fatal(err) } - if res.StatusCode == http.StatusOK { + if res.Object != nil { // handle response } } @@ -152,7 +151,6 @@ import( "github.com/LukeHagar/plexgo" "context" "log" - "net/http" ) func main() { @@ -169,7 +167,7 @@ func main() { log.Fatal(err) } - if res.StatusCode == http.StatusOK { + if res.Object != nil { // handle response } } @@ -271,8 +269,12 @@ func main() { var playlistID float64 = 3915 + var title *string = "string" + + var summary *string = "string" + ctx := context.Background() - res, err := s.Playlists.UpdatePlaylist(ctx, playlistID) + res, err := s.Playlists.UpdatePlaylist(ctx, playlistID, title, summary) if err != nil { log.Fatal(err) } @@ -289,6 +291,8 @@ func main() { | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | | `ctx` | [context.Context](https://pkg.go.dev/context#Context) | :heavy_check_mark: | The context to use for the request. | | `playlistID` | *float64* | :heavy_check_mark: | the ID of the playlist | +| `title` | **string* | :heavy_minus_sign: | name of the playlist | +| `summary` | **string* | :heavy_minus_sign: | summary description of the playlist | ### Response @@ -317,7 +321,6 @@ import( "github.com/LukeHagar/plexgo" "context" "log" - "net/http" ) func main() { @@ -336,7 +339,7 @@ func main() { log.Fatal(err) } - if res.StatusCode == http.StatusOK { + if res.Object != nil { // handle response } } @@ -415,7 +418,7 @@ func main() { ## AddPlaylistContents -Adds a generator to a playlist, same parameters as the POST above. With a dumb playlist, this adds the specified items to the playlist. +Adds a generator to a playlist, same parameters as the POST to create. With a dumb playlist, this adds the specified items to the playlist. With a smart playlist, passing a new `uri` parameter replaces the rules for the playlist. Returns the playlist. @@ -429,7 +432,6 @@ import( "github.com/LukeHagar/plexgo" "context" "log" - "net/http" ) func main() { @@ -440,9 +442,9 @@ func main() { var playlistID float64 = 8502.01 - var uri string = "library://.." + var uri string = "server://12345/com.plexapp.plugins.library/library/metadata/1" - var playQueueID float64 = 123 + var playQueueID *float64 = 123 ctx := context.Background() res, err := s.Playlists.AddPlaylistContents(ctx, playlistID, uri, playQueueID) @@ -450,7 +452,7 @@ func main() { log.Fatal(err) } - if res.StatusCode == http.StatusOK { + if res.Object != nil { // handle response } } @@ -458,12 +460,12 @@ func main() { ### Parameters -| Parameter | Type | Required | Description | Example | -| ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | -| `ctx` | [context.Context](https://pkg.go.dev/context#Context) | :heavy_check_mark: | The context to use for the request. | | -| `playlistID` | *float64* | :heavy_check_mark: | the ID of the playlist | | -| `uri` | *string* | :heavy_check_mark: | the content URI for the playlist | library://.. | -| `playQueueID` | *float64* | :heavy_check_mark: | the play queue to add to a playlist | 123 | +| Parameter | Type | Required | Description | Example | +| ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | +| `ctx` | [context.Context](https://pkg.go.dev/context#Context) | :heavy_check_mark: | The context to use for the request. | | +| `playlistID` | *float64* | :heavy_check_mark: | the ID of the playlist | | +| `uri` | *string* | :heavy_check_mark: | the content URI for the playlist | server://12345/com.plexapp.plugins.library/library/metadata/1 | +| `playQueueID` | **float64* | :heavy_minus_sign: | the play queue to add to a playlist | 123 | ### Response @@ -521,7 +523,7 @@ func main() { | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `ctx` | [context.Context](https://pkg.go.dev/context#Context) | :heavy_check_mark: | The context to use for the request. | | | `path` | *string* | :heavy_check_mark: | absolute path to a directory on the server where m3u files are stored, or the absolute path to a playlist file on the server.
If the `path` argument is a directory, that path will be scanned for playlist files to be processed.
Each file in that directory creates a separate playlist, with a name based on the filename of the file that created it.
The GUID of each playlist is based on the filename.
If the `path` argument is a file, that file will be used to create a new playlist, with the name based on the filename of the file that created it.
The GUID of each playlist is based on the filename.
| /home/barkley/playlist.m3u | -| `force` | [operations.Force](../../models/operations/force.md) | :heavy_check_mark: | force overwriting of duplicate playlists. By default, a playlist file uploaded with the same path will overwrite the existing playlist.
The `force` argument is used to disable overwriting. If the `force` argument is set to 0, a new playlist will be created suffixed with the date and time that the duplicate was uploaded.
| | +| `force` | [operations.Force](../../models/operations/force.md) | :heavy_check_mark: | Force overwriting of duplicate playlists.
By default, a playlist file uploaded with the same path will overwrite the existing playlist.
The `force` argument is used to disable overwriting.
If the `force` argument is set to 0, a new playlist will be created suffixed with the date and time that the duplicate was uploaded.
| | ### Response diff --git a/docs/sdks/server/README.md b/docs/sdks/server/README.md index f239d11..b4e6eb6 100644 --- a/docs/sdks/server/README.md +++ b/docs/sdks/server/README.md @@ -140,7 +140,7 @@ func main() { log.Fatal(err) } - if res.ResponseBodies != nil { + if res.Object != nil { // handle response } } diff --git a/docs/sdks/sessions/README.md b/docs/sdks/sessions/README.md index 6ec081d..8281ded 100644 --- a/docs/sdks/sessions/README.md +++ b/docs/sdks/sessions/README.md @@ -27,7 +27,6 @@ import( "github.com/LukeHagar/plexgo" "context" "log" - "net/http" ) func main() { @@ -41,7 +40,7 @@ func main() { log.Fatal(err) } - if res.StatusCode == http.StatusOK { + if res.Object != nil { // handle response } } @@ -76,7 +75,6 @@ import( "github.com/LukeHagar/plexgo" "context" "log" - "net/http" ) func main() { @@ -90,7 +88,7 @@ func main() { log.Fatal(err) } - if res.StatusCode == http.StatusOK { + if res.Object != nil { // handle response } } diff --git a/docs/sdks/updater/README.md b/docs/sdks/updater/README.md index b47e8fa..b42b1c7 100644 --- a/docs/sdks/updater/README.md +++ b/docs/sdks/updater/README.md @@ -27,7 +27,6 @@ import( "github.com/LukeHagar/plexgo" "context" "log" - "net/http" ) func main() { @@ -41,7 +40,7 @@ func main() { log.Fatal(err) } - if res.StatusCode == http.StatusOK { + if res.Object != nil { // handle response } } diff --git a/docs/types/date.md b/docs/types/date.md new file mode 100644 index 0000000..3d83ed2 --- /dev/null +++ b/docs/types/date.md @@ -0,0 +1,19 @@ +# Date + +`types.Date` is a wrapper around time.Time that allows for JSON marshaling a date string formatted as "2006-01-02". + +## Usage + +```go +d1 := types.NewDate(time.Now()) // returns *types.Date + +d2 := types.DateFromTime(time.Now()) // returns types.Date + +d3, err := types.NewDateFromString("2019-01-01") // returns *types.Date, error + +d4, err := types.DateFromString("2019-01-01") // returns types.Date, error + +d5 := types.MustNewDateFromString("2019-01-01") // returns *types.Date and panics on error + +d6 := types.MustDateFromString("2019-01-01") // returns types.Date and panics on error +``` \ No newline at end of file diff --git a/gen.yaml b/gen.yaml index 5ba0aaf..646ce53 100644 --- a/gen.yaml +++ b/gen.yaml @@ -8,7 +8,7 @@ generation: fixes: nameResolutionDec2023: false go: - version: 0.1.0 + version: 0.1.1 clientServerStatusCodesAsErrors: true flattenGlobalSecurity: true imports: diff --git a/hubs.go b/hubs.go index 71b50f3..2e0da3b 100644 --- a/hubs.go +++ b/hubs.go @@ -73,6 +73,17 @@ func (s *Hubs) GetGlobalHubs(ctx context.Context, count *float64, onlyTransient httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out operations.GetGlobalHubsResponseBody + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.Object = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } case httpRes.StatusCode == 400: fallthrough case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: @@ -149,6 +160,17 @@ func (s *Hubs) GetLibraryHubs(ctx context.Context, sectionID float64, count *flo httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out operations.GetLibraryHubsResponseBody + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.Object = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } case httpRes.StatusCode == 400: fallthrough case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: diff --git a/library.go b/library.go index bb24f69..2d4a012 100644 --- a/library.go +++ b/library.go @@ -251,28 +251,45 @@ func (s *Library) GetLibraries(ctx context.Context) (*operations.GetLibrariesRes } // GetLibrary - Get Library Details -// Returns details for the library. This can be thought of as an interstitial endpoint because it contains information about the library, rather than content itself. These details are: +// ## Library Details Endpoint // -// - A list of `Directory` objects: These used to be used by clients to build a menuing system. There are four flavors of directory found here: -// - Primary: (e.g. all, On Deck) These are still used in some clients to provide "shortcuts" to subsets of media. However, with the exception of On Deck, all of them can be created by media queries, and the desire is to allow these to be customized by users. -// - Secondary: These are marked with `secondary="1"` and were used by old clients to provide nested menus allowing for primative (but structured) navigation. -// - Special: There is a By Folder entry which allows browsing the media by the underlying filesystem structure, and there's a completely obsolete entry marked `search="1"` which used to be used to allow clients to build search dialogs on the fly. +// This endpoint provides comprehensive details about the library, focusing on organizational aspects rather than the content itself. // -// - A list of `Type` objects: These represent the types of things found in this library, and for each one, a list of `Filter` and `Sort` objects. These can be used to build rich controls around a grid of media to allow filtering and organizing. Note that these filters and sorts are optional, and without them, the client won't render any filtering controls. The `Type` object contains: -// - `key`: This provides the root endpoint returning the actual media list for the type. -// - `type`: This is the metadata type for the type (if a standard Plex type). -// - `title`: The title for for the content of this type (e.g. "Movies"). +// The details include: // -// - Each `Filter` object contains a description of the filter. Note that it is not an exhaustive list of the full media query language, but an inportant subset useful for top-level API. -// - `filter`: This represents the filter name used for the filter, which can be used to construct complex media queries with. -// - `filterType`: This is either `string`, `integer`, or `boolean`, and describes the type of values used for the filter. -// - `key`: This provides the endpoint where the possible range of values for the filter can be retrieved (e.g. for a "Genre" filter, it returns a list of all the genres in the library). This will include a `type` argument that matches the metadata type of the Type element. -// - `title`: The title for the filter. +// ### Directories +// Organized into three categories: // -// - Each `Sort` object contains a description of the sort field. -// - `defaultDirection`: Can be either `asc` or `desc`, and specifies the default direction for the sort field (e.g. titles default to alphabetically ascending). -// - `descKey` and `key`: Contains the parameters passed to the `sort=...` media query for each direction of the sort. -// - `title`: The title of the field. +// - **Primary Directories**: +// - Used in some clients for quick access to media subsets (e.g., "All", "On Deck"). +// - Most can be replicated via media queries. +// - Customizable by users. +// +// - **Secondary Directories**: +// - Marked with `secondary="1"`. +// - Used in older clients for structured navigation. +// +// - **Special Directories**: +// - Includes a "By Folder" entry for filesystem-based browsing. +// - Contains an obsolete `search="1"` entry for on-the-fly search dialog creation. +// +// ### Types +// Each type in the library comes with a set of filters and sorts, aiding in building dynamic media controls: +// +// - **Type Object Attributes**: +// - `key`: Endpoint for the media list of this type. +// - `type`: Metadata type (if standard Plex type). +// - `title`: Title for this content type (e.g., "Movies"). +// +// - **Filter Objects**: +// - Subset of the media query language. +// - Attributes include `filter` (name), `filterType` (data type), `key` (endpoint for value range), and `title`. +// +// - **Sort Objects**: +// - Description of sort fields. +// - Attributes include `defaultDirection` (asc/desc), `descKey` and `key` (sort parameters), and `title`. +// +// > **Note**: Filters and sorts are optional; without them, no filtering controls are rendered. func (s *Library) GetLibrary(ctx context.Context, sectionID float64, includeDetails *operations.IncludeDetails) (*operations.GetLibraryResponse, error) { request := operations.GetLibraryRequest{ SectionID: sectionID, @@ -428,16 +445,35 @@ func (s *Library) DeleteLibrary(ctx context.Context, sectionID float64) (*operat } // GetLibraryItems - Get Library Items -// This endpoint will return a list of library items filtered by the filter and type provided -func (s *Library) GetLibraryItems(ctx context.Context, sectionID float64, type_ *float64, filter *string) (*operations.GetLibraryItemsResponse, error) { +// Fetches details from a specific section of the library identified by a section key and a tag. The tag parameter accepts the following values: +// - `all`: All items in the section. +// - `unwatched`: Items that have not been played. +// - `newest`: Items that are recently released. +// - `recentlyAdded`: Items that are recently added to the library. +// - `recentlyViewed`: Items that were recently viewed. +// - `onDeck`: Items to continue watching. +// - `collection`: Items categorized by collection. +// - `edition`: Items categorized by edition. +// - `genre`: Items categorized by genre. +// - `year`: Items categorized by year of release. +// - `decade`: Items categorized by decade. +// - `director`: Items categorized by director. +// - `actor`: Items categorized by starring actor. +// - `country`: Items categorized by country of origin. +// - `contentRating`: Items categorized by content rating. +// - `rating`: Items categorized by rating. +// - `resolution`: Items categorized by resolution. +// - `firstCharacter`: Items categorized by the first letter. +// - `folder`: Items categorized by folder. +// - `search?type=1`: Search functionality within the section. +func (s *Library) GetLibraryItems(ctx context.Context, sectionID int64, tag operations.Tag) (*operations.GetLibraryItemsResponse, error) { request := operations.GetLibraryItemsRequest{ SectionID: sectionID, - Type: type_, - Filter: filter, + Tag: tag, } baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url, err := utils.GenerateURL(ctx, baseURL, "/library/sections/{sectionId}/all", request, nil) + url, err := utils.GenerateURL(ctx, baseURL, "/library/sections/{sectionId}/{tag}", request, nil) if err != nil { return nil, fmt.Errorf("error generating URL: %w", err) } @@ -449,10 +485,6 @@ func (s *Library) GetLibraryItems(ctx context.Context, sectionID float64, type_ req.Header.Set("Accept", "application/json") req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { - return nil, fmt.Errorf("error populating query params: %w", err) - } - client := s.sdkConfiguration.SecurityClient httpRes, err := client.Do(req) @@ -479,25 +511,21 @@ func (s *Library) GetLibraryItems(ctx context.Context, sectionID float64, type_ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: - case httpRes.StatusCode == 400: - fallthrough + switch { + case utils.MatchContentType(contentType, `application/json`): + var out operations.GetLibraryItemsResponseBody + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.Object = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: fallthrough case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) - case httpRes.StatusCode == 401: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out sdkerrors.GetLibraryItemsResponseBody - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - out.RawResponse = httpRes - - return nil, &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } } return res, nil @@ -573,160 +601,6 @@ func (s *Library) RefreshLibrary(ctx context.Context, sectionID float64) (*opera return res, nil } -// GetLatestLibraryItems - Get Latest Library Items -// This endpoint will return a list of the latest library items filtered by the filter and type provided -func (s *Library) GetLatestLibraryItems(ctx context.Context, sectionID float64, type_ float64, filter *string) (*operations.GetLatestLibraryItemsResponse, error) { - request := operations.GetLatestLibraryItemsRequest{ - SectionID: sectionID, - Type: type_, - Filter: filter, - } - - baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url, err := utils.GenerateURL(ctx, baseURL, "/library/sections/{sectionId}/latest", request, nil) - if err != nil { - return nil, fmt.Errorf("error generating URL: %w", err) - } - - req, err := http.NewRequestWithContext(ctx, "GET", url, nil) - if err != nil { - return nil, fmt.Errorf("error creating request: %w", err) - } - req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - - if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { - return nil, fmt.Errorf("error populating query params: %w", err) - } - - client := s.sdkConfiguration.SecurityClient - - httpRes, err := client.Do(req) - if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) - } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") - } - - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.GetLatestLibraryItemsResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } - - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) - } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - switch { - case httpRes.StatusCode == 200: - case httpRes.StatusCode == 400: - fallthrough - case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: - fallthrough - case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: - return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) - case httpRes.StatusCode == 401: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out sdkerrors.GetLatestLibraryItemsResponseBody - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - out.RawResponse = httpRes - - return nil, &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - } - - return res, nil -} - -// GetCommonLibraryItems - Get Common Library Items -// Represents a "Common" item. It contains only the common attributes of the items selected by the provided filter -func (s *Library) GetCommonLibraryItems(ctx context.Context, sectionID float64, type_ float64, filter *string) (*operations.GetCommonLibraryItemsResponse, error) { - request := operations.GetCommonLibraryItemsRequest{ - SectionID: sectionID, - Type: type_, - Filter: filter, - } - - baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url, err := utils.GenerateURL(ctx, baseURL, "/library/sections/{sectionId}/common", request, nil) - if err != nil { - return nil, fmt.Errorf("error generating URL: %w", err) - } - - req, err := http.NewRequestWithContext(ctx, "GET", url, nil) - if err != nil { - return nil, fmt.Errorf("error creating request: %w", err) - } - req.Header.Set("Accept", "application/json") - req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) - - if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { - return nil, fmt.Errorf("error populating query params: %w", err) - } - - client := s.sdkConfiguration.SecurityClient - - httpRes, err := client.Do(req) - if err != nil { - return nil, fmt.Errorf("error sending request: %w", err) - } - if httpRes == nil { - return nil, fmt.Errorf("error sending request: no response") - } - - contentType := httpRes.Header.Get("Content-Type") - - res := &operations.GetCommonLibraryItemsResponse{ - StatusCode: httpRes.StatusCode, - ContentType: contentType, - RawResponse: httpRes, - } - - rawBody, err := io.ReadAll(httpRes.Body) - if err != nil { - return nil, fmt.Errorf("error reading response body: %w", err) - } - httpRes.Body.Close() - httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) - switch { - case httpRes.StatusCode == 200: - case httpRes.StatusCode == 400: - fallthrough - case httpRes.StatusCode == 404: - fallthrough - case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: - fallthrough - case httpRes.StatusCode >= 500 && httpRes.StatusCode < 600: - return nil, sdkerrors.NewSDKError("API error occurred", httpRes.StatusCode, string(rawBody), httpRes) - case httpRes.StatusCode == 401: - switch { - case utils.MatchContentType(contentType, `application/json`): - var out sdkerrors.GetCommonLibraryItemsResponseBody - if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { - return nil, err - } - out.RawResponse = httpRes - - return nil, &out - default: - return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) - } - } - - return res, nil -} - // GetMetadata - Get Items Metadata // This endpoint will return the metadata of a library item specified with the ratingKey. func (s *Library) GetMetadata(ctx context.Context, ratingKey float64) (*operations.GetMetadataResponse, error) { @@ -773,6 +647,17 @@ func (s *Library) GetMetadata(ctx context.Context, ratingKey float64) (*operatio httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out operations.GetMetadataResponseBody + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.Object = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } case httpRes.StatusCode == 400: fallthrough case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: @@ -843,6 +728,17 @@ func (s *Library) GetMetadataChildren(ctx context.Context, ratingKey float64) (* httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out operations.GetMetadataChildrenResponseBody + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.Object = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } case httpRes.StatusCode == 400: fallthrough case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: diff --git a/log.go b/log.go index 6ea3a23..c328463 100644 --- a/log.go +++ b/log.go @@ -99,18 +99,48 @@ func (s *Log) LogLine(ctx context.Context, level operations.Level, message strin } // LogMultiLine - Logging a multi-line message -// This endpoint will write multiple lines to the main Plex Media Server log in a single request. It takes a set of query strings as would normally sent to the above GET endpoint as a linefeed-separated block of POST data. The parameters for each query string match as above. -func (s *Log) LogMultiLine(ctx context.Context) (*operations.LogMultiLineResponse, error) { +// This endpoint allows for the batch addition of log entries to the main Plex Media Server log. +// It accepts a text/plain request body, where each line represents a distinct log entry. +// Each log entry consists of URL-encoded key-value pairs, specifying log attributes such as 'level', 'message', and 'source'. +// +// Log entries are separated by a newline character (`\n`). +// Each entry's parameters should be URL-encoded to ensure accurate parsing and handling of special characters. +// This method is efficient for logging multiple entries in a single API call, reducing the overhead of multiple individual requests. +// +// The 'level' parameter specifies the log entry's severity or importance, with the following integer values: +// - `0`: Error - Critical issues that require immediate attention. +// - `1`: Warning - Important events that are not critical but may indicate potential issues. +// - `2`: Info - General informational messages about system operation. +// - `3`: Debug - Detailed information useful for debugging purposes. +// - `4`: Verbose - Highly detailed diagnostic information for in-depth analysis. +// +// The 'message' parameter contains the log text, and 'source' identifies the log message's origin (e.g., an application name or module). +// +// Example of a single log entry format: +// `level=4&message=Sample%20log%20entry&source=applicationName` +// +// Ensure each parameter is properly URL-encoded to avoid interpretation issues. +func (s *Log) LogMultiLine(ctx context.Context, request string) (*operations.LogMultiLineResponse, error) { baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) url := strings.TrimSuffix(baseURL, "/") + "/log" - req, err := http.NewRequestWithContext(ctx, "POST", url, nil) + bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "Request", "string", `request:"mediaType=text/plain"`) + if err != nil { + return nil, fmt.Errorf("error serializing request body: %w", err) + } + if bodyReader == nil { + return nil, fmt.Errorf("request body is required") + } + + req, err := http.NewRequestWithContext(ctx, "POST", url, bodyReader) if err != nil { return nil, fmt.Errorf("error creating request: %w", err) } req.Header.Set("Accept", "application/json") req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) + req.Header.Set("Content-Type", reqContentType) + client := s.sdkConfiguration.SecurityClient httpRes, err := client.Do(req) diff --git a/models/operations/addplaylistcontents.go b/models/operations/addplaylistcontents.go index 8f028a4..78c4a70 100644 --- a/models/operations/addplaylistcontents.go +++ b/models/operations/addplaylistcontents.go @@ -12,7 +12,7 @@ type AddPlaylistContentsRequest struct { // the content URI for the playlist URI string `queryParam:"style=form,explode=true,name=uri"` // the play queue to add to a playlist - PlayQueueID float64 `queryParam:"style=form,explode=true,name=playQueueID"` + PlayQueueID *float64 `queryParam:"style=form,explode=true,name=playQueueID"` } func (o *AddPlaylistContentsRequest) GetPlaylistID() float64 { @@ -29,13 +29,167 @@ func (o *AddPlaylistContentsRequest) GetURI() string { return o.URI } -func (o *AddPlaylistContentsRequest) GetPlayQueueID() float64 { +func (o *AddPlaylistContentsRequest) GetPlayQueueID() *float64 { if o == nil { - return 0.0 + return nil } return o.PlayQueueID } +type AddPlaylistContentsMetadata struct { + RatingKey *string `json:"ratingKey,omitempty"` + Key *string `json:"key,omitempty"` + GUID *string `json:"guid,omitempty"` + Type *string `json:"type,omitempty"` + Title *string `json:"title,omitempty"` + Summary *string `json:"summary,omitempty"` + Smart *bool `json:"smart,omitempty"` + PlaylistType *string `json:"playlistType,omitempty"` + Composite *string `json:"composite,omitempty"` + Duration *int `json:"duration,omitempty"` + LeafCount *int `json:"leafCount,omitempty"` + AddedAt *int `json:"addedAt,omitempty"` + UpdatedAt *int `json:"updatedAt,omitempty"` +} + +func (o *AddPlaylistContentsMetadata) GetRatingKey() *string { + if o == nil { + return nil + } + return o.RatingKey +} + +func (o *AddPlaylistContentsMetadata) GetKey() *string { + if o == nil { + return nil + } + return o.Key +} + +func (o *AddPlaylistContentsMetadata) GetGUID() *string { + if o == nil { + return nil + } + return o.GUID +} + +func (o *AddPlaylistContentsMetadata) GetType() *string { + if o == nil { + return nil + } + return o.Type +} + +func (o *AddPlaylistContentsMetadata) GetTitle() *string { + if o == nil { + return nil + } + return o.Title +} + +func (o *AddPlaylistContentsMetadata) GetSummary() *string { + if o == nil { + return nil + } + return o.Summary +} + +func (o *AddPlaylistContentsMetadata) GetSmart() *bool { + if o == nil { + return nil + } + return o.Smart +} + +func (o *AddPlaylistContentsMetadata) GetPlaylistType() *string { + if o == nil { + return nil + } + return o.PlaylistType +} + +func (o *AddPlaylistContentsMetadata) GetComposite() *string { + if o == nil { + return nil + } + return o.Composite +} + +func (o *AddPlaylistContentsMetadata) GetDuration() *int { + if o == nil { + return nil + } + return o.Duration +} + +func (o *AddPlaylistContentsMetadata) GetLeafCount() *int { + if o == nil { + return nil + } + return o.LeafCount +} + +func (o *AddPlaylistContentsMetadata) GetAddedAt() *int { + if o == nil { + return nil + } + return o.AddedAt +} + +func (o *AddPlaylistContentsMetadata) GetUpdatedAt() *int { + if o == nil { + return nil + } + return o.UpdatedAt +} + +type AddPlaylistContentsMediaContainer struct { + Size *int `json:"size,omitempty"` + LeafCountAdded *int `json:"leafCountAdded,omitempty"` + LeafCountRequested *int `json:"leafCountRequested,omitempty"` + Metadata []AddPlaylistContentsMetadata `json:"Metadata,omitempty"` +} + +func (o *AddPlaylistContentsMediaContainer) GetSize() *int { + if o == nil { + return nil + } + return o.Size +} + +func (o *AddPlaylistContentsMediaContainer) GetLeafCountAdded() *int { + if o == nil { + return nil + } + return o.LeafCountAdded +} + +func (o *AddPlaylistContentsMediaContainer) GetLeafCountRequested() *int { + if o == nil { + return nil + } + return o.LeafCountRequested +} + +func (o *AddPlaylistContentsMediaContainer) GetMetadata() []AddPlaylistContentsMetadata { + if o == nil { + return nil + } + return o.Metadata +} + +// AddPlaylistContentsResponseBody - Playlist Updated +type AddPlaylistContentsResponseBody struct { + MediaContainer *AddPlaylistContentsMediaContainer `json:"MediaContainer,omitempty"` +} + +func (o *AddPlaylistContentsResponseBody) GetMediaContainer() *AddPlaylistContentsMediaContainer { + if o == nil { + return nil + } + return o.MediaContainer +} + type AddPlaylistContentsResponse struct { // HTTP response content type for this operation ContentType string @@ -43,6 +197,8 @@ type AddPlaylistContentsResponse struct { StatusCode int // Raw HTTP response; suitable for custom response parsing RawResponse *http.Response + // Playlist Updated + Object *AddPlaylistContentsResponseBody } func (o *AddPlaylistContentsResponse) GetContentType() string { @@ -65,3 +221,10 @@ func (o *AddPlaylistContentsResponse) GetRawResponse() *http.Response { } return o.RawResponse } + +func (o *AddPlaylistContentsResponse) GetObject() *AddPlaylistContentsResponseBody { + if o == nil { + return nil + } + return o.Object +} diff --git a/models/operations/createplaylist.go b/models/operations/createplaylist.go index 11ac937..e2ffd3a 100644 --- a/models/operations/createplaylist.go +++ b/models/operations/createplaylist.go @@ -75,7 +75,7 @@ type CreatePlaylistRequest struct { // whether the playlist is smart or not Smart Smart `queryParam:"style=form,explode=true,name=smart"` // the content URI for the playlist - URI *string `queryParam:"style=form,explode=true,name=uri"` + URI string `queryParam:"style=form,explode=true,name=uri"` // the play queue to copy to a playlist PlayQueueID *float64 `queryParam:"style=form,explode=true,name=playQueueID"` } @@ -101,9 +101,9 @@ func (o *CreatePlaylistRequest) GetSmart() Smart { return o.Smart } -func (o *CreatePlaylistRequest) GetURI() *string { +func (o *CreatePlaylistRequest) GetURI() string { if o == nil { - return nil + return "" } return o.URI } @@ -115,6 +115,168 @@ func (o *CreatePlaylistRequest) GetPlayQueueID() *float64 { return o.PlayQueueID } +type CreatePlaylistMetadata struct { + RatingKey *string `json:"ratingKey,omitempty"` + Key *string `json:"key,omitempty"` + GUID *string `json:"guid,omitempty"` + Type *string `json:"type,omitempty"` + Title *string `json:"title,omitempty"` + Summary *string `json:"summary,omitempty"` + Smart *bool `json:"smart,omitempty"` + PlaylistType *string `json:"playlistType,omitempty"` + Icon *string `json:"icon,omitempty"` + ViewCount *int `json:"viewCount,omitempty"` + LastViewedAt *int `json:"lastViewedAt,omitempty"` + LeafCount *int `json:"leafCount,omitempty"` + AddedAt *int `json:"addedAt,omitempty"` + UpdatedAt *int `json:"updatedAt,omitempty"` + Composite *string `json:"composite,omitempty"` + Duration *int `json:"duration,omitempty"` +} + +func (o *CreatePlaylistMetadata) GetRatingKey() *string { + if o == nil { + return nil + } + return o.RatingKey +} + +func (o *CreatePlaylistMetadata) GetKey() *string { + if o == nil { + return nil + } + return o.Key +} + +func (o *CreatePlaylistMetadata) GetGUID() *string { + if o == nil { + return nil + } + return o.GUID +} + +func (o *CreatePlaylistMetadata) GetType() *string { + if o == nil { + return nil + } + return o.Type +} + +func (o *CreatePlaylistMetadata) GetTitle() *string { + if o == nil { + return nil + } + return o.Title +} + +func (o *CreatePlaylistMetadata) GetSummary() *string { + if o == nil { + return nil + } + return o.Summary +} + +func (o *CreatePlaylistMetadata) GetSmart() *bool { + if o == nil { + return nil + } + return o.Smart +} + +func (o *CreatePlaylistMetadata) GetPlaylistType() *string { + if o == nil { + return nil + } + return o.PlaylistType +} + +func (o *CreatePlaylistMetadata) GetIcon() *string { + if o == nil { + return nil + } + return o.Icon +} + +func (o *CreatePlaylistMetadata) GetViewCount() *int { + if o == nil { + return nil + } + return o.ViewCount +} + +func (o *CreatePlaylistMetadata) GetLastViewedAt() *int { + if o == nil { + return nil + } + return o.LastViewedAt +} + +func (o *CreatePlaylistMetadata) GetLeafCount() *int { + if o == nil { + return nil + } + return o.LeafCount +} + +func (o *CreatePlaylistMetadata) GetAddedAt() *int { + if o == nil { + return nil + } + return o.AddedAt +} + +func (o *CreatePlaylistMetadata) GetUpdatedAt() *int { + if o == nil { + return nil + } + return o.UpdatedAt +} + +func (o *CreatePlaylistMetadata) GetComposite() *string { + if o == nil { + return nil + } + return o.Composite +} + +func (o *CreatePlaylistMetadata) GetDuration() *int { + if o == nil { + return nil + } + return o.Duration +} + +type CreatePlaylistMediaContainer struct { + Size *int `json:"size,omitempty"` + Metadata []CreatePlaylistMetadata `json:"Metadata,omitempty"` +} + +func (o *CreatePlaylistMediaContainer) GetSize() *int { + if o == nil { + return nil + } + return o.Size +} + +func (o *CreatePlaylistMediaContainer) GetMetadata() []CreatePlaylistMetadata { + if o == nil { + return nil + } + return o.Metadata +} + +// CreatePlaylistResponseBody - returns all playlists +type CreatePlaylistResponseBody struct { + MediaContainer *CreatePlaylistMediaContainer `json:"MediaContainer,omitempty"` +} + +func (o *CreatePlaylistResponseBody) GetMediaContainer() *CreatePlaylistMediaContainer { + if o == nil { + return nil + } + return o.MediaContainer +} + type CreatePlaylistResponse struct { // HTTP response content type for this operation ContentType string @@ -122,6 +284,8 @@ type CreatePlaylistResponse struct { StatusCode int // Raw HTTP response; suitable for custom response parsing RawResponse *http.Response + // returns all playlists + Object *CreatePlaylistResponseBody } func (o *CreatePlaylistResponse) GetContentType() string { @@ -144,3 +308,10 @@ func (o *CreatePlaylistResponse) GetRawResponse() *http.Response { } return o.RawResponse } + +func (o *CreatePlaylistResponse) GetObject() *CreatePlaylistResponseBody { + if o == nil { + return nil + } + return o.Object +} diff --git a/models/operations/getavailableclients.go b/models/operations/getavailableclients.go index 0405e24..98b5674 100644 --- a/models/operations/getavailableclients.go +++ b/models/operations/getavailableclients.go @@ -116,11 +116,12 @@ func (o *GetAvailableClientsMediaContainer) GetServer() []Server { return o.Server } -type ResponseBody struct { +// GetAvailableClientsResponseBody - Available Clients +type GetAvailableClientsResponseBody struct { MediaContainer *GetAvailableClientsMediaContainer `json:"MediaContainer,omitempty"` } -func (o *ResponseBody) GetMediaContainer() *GetAvailableClientsMediaContainer { +func (o *GetAvailableClientsResponseBody) GetMediaContainer() *GetAvailableClientsMediaContainer { if o == nil { return nil } @@ -135,7 +136,7 @@ type GetAvailableClientsResponse struct { // Raw HTTP response; suitable for custom response parsing RawResponse *http.Response // Available Clients - ResponseBodies []ResponseBody + Object *GetAvailableClientsResponseBody } func (o *GetAvailableClientsResponse) GetContentType() string { @@ -159,9 +160,9 @@ func (o *GetAvailableClientsResponse) GetRawResponse() *http.Response { return o.RawResponse } -func (o *GetAvailableClientsResponse) GetResponseBodies() []ResponseBody { +func (o *GetAvailableClientsResponse) GetObject() *GetAvailableClientsResponseBody { if o == nil { return nil } - return o.ResponseBodies + return o.Object } diff --git a/models/operations/getcommonlibraryitems.go b/models/operations/getcommonlibraryitems.go deleted file mode 100644 index 7f8c78a..0000000 --- a/models/operations/getcommonlibraryitems.go +++ /dev/null @@ -1,67 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package operations - -import ( - "net/http" -) - -type GetCommonLibraryItemsRequest struct { - // the Id of the library to query - SectionID float64 `pathParam:"style=simple,explode=false,name=sectionId"` - // item type - Type float64 `queryParam:"style=form,explode=true,name=type"` - // the filter parameter - Filter *string `queryParam:"style=form,explode=true,name=filter"` -} - -func (o *GetCommonLibraryItemsRequest) GetSectionID() float64 { - if o == nil { - return 0.0 - } - return o.SectionID -} - -func (o *GetCommonLibraryItemsRequest) GetType() float64 { - if o == nil { - return 0.0 - } - return o.Type -} - -func (o *GetCommonLibraryItemsRequest) GetFilter() *string { - if o == nil { - return nil - } - return o.Filter -} - -type GetCommonLibraryItemsResponse struct { - // HTTP response content type for this operation - ContentType string - // HTTP response status code for this operation - StatusCode int - // Raw HTTP response; suitable for custom response parsing - RawResponse *http.Response -} - -func (o *GetCommonLibraryItemsResponse) GetContentType() string { - if o == nil { - return "" - } - return o.ContentType -} - -func (o *GetCommonLibraryItemsResponse) GetStatusCode() int { - if o == nil { - return 0 - } - return o.StatusCode -} - -func (o *GetCommonLibraryItemsResponse) GetRawResponse() *http.Response { - if o == nil { - return nil - } - return o.RawResponse -} diff --git a/models/operations/getglobalhubs.go b/models/operations/getglobalhubs.go index 50d64b5..428284a 100644 --- a/models/operations/getglobalhubs.go +++ b/models/operations/getglobalhubs.go @@ -57,6 +57,283 @@ func (o *GetGlobalHubsRequest) GetOnlyTransient() *OnlyTransient { return o.OnlyTransient } +type GetGlobalHubsMetadata struct { + RatingKey *string `json:"ratingKey,omitempty"` + Key *string `json:"key,omitempty"` + GUID *string `json:"guid,omitempty"` + Type *string `json:"type,omitempty"` + Title *string `json:"title,omitempty"` + TitleSort *string `json:"titleSort,omitempty"` + Summary *string `json:"summary,omitempty"` + Smart *bool `json:"smart,omitempty"` + PlaylistType *string `json:"playlistType,omitempty"` + Composite *string `json:"composite,omitempty"` + Icon *string `json:"icon,omitempty"` + ViewCount *int `json:"viewCount,omitempty"` + LastViewedAt *int `json:"lastViewedAt,omitempty"` + Duration *int `json:"duration,omitempty"` + LeafCount *int `json:"leafCount,omitempty"` + AddedAt *int `json:"addedAt,omitempty"` + UpdatedAt *int `json:"updatedAt,omitempty"` +} + +func (o *GetGlobalHubsMetadata) GetRatingKey() *string { + if o == nil { + return nil + } + return o.RatingKey +} + +func (o *GetGlobalHubsMetadata) GetKey() *string { + if o == nil { + return nil + } + return o.Key +} + +func (o *GetGlobalHubsMetadata) GetGUID() *string { + if o == nil { + return nil + } + return o.GUID +} + +func (o *GetGlobalHubsMetadata) GetType() *string { + if o == nil { + return nil + } + return o.Type +} + +func (o *GetGlobalHubsMetadata) GetTitle() *string { + if o == nil { + return nil + } + return o.Title +} + +func (o *GetGlobalHubsMetadata) GetTitleSort() *string { + if o == nil { + return nil + } + return o.TitleSort +} + +func (o *GetGlobalHubsMetadata) GetSummary() *string { + if o == nil { + return nil + } + return o.Summary +} + +func (o *GetGlobalHubsMetadata) GetSmart() *bool { + if o == nil { + return nil + } + return o.Smart +} + +func (o *GetGlobalHubsMetadata) GetPlaylistType() *string { + if o == nil { + return nil + } + return o.PlaylistType +} + +func (o *GetGlobalHubsMetadata) GetComposite() *string { + if o == nil { + return nil + } + return o.Composite +} + +func (o *GetGlobalHubsMetadata) GetIcon() *string { + if o == nil { + return nil + } + return o.Icon +} + +func (o *GetGlobalHubsMetadata) GetViewCount() *int { + if o == nil { + return nil + } + return o.ViewCount +} + +func (o *GetGlobalHubsMetadata) GetLastViewedAt() *int { + if o == nil { + return nil + } + return o.LastViewedAt +} + +func (o *GetGlobalHubsMetadata) GetDuration() *int { + if o == nil { + return nil + } + return o.Duration +} + +func (o *GetGlobalHubsMetadata) GetLeafCount() *int { + if o == nil { + return nil + } + return o.LeafCount +} + +func (o *GetGlobalHubsMetadata) GetAddedAt() *int { + if o == nil { + return nil + } + return o.AddedAt +} + +func (o *GetGlobalHubsMetadata) GetUpdatedAt() *int { + if o == nil { + return nil + } + return o.UpdatedAt +} + +type Hub struct { + HubKey *string `json:"hubKey,omitempty"` + Key *string `json:"key,omitempty"` + Title *string `json:"title,omitempty"` + Type *string `json:"type,omitempty"` + HubIdentifier *string `json:"hubIdentifier,omitempty"` + Context *string `json:"context,omitempty"` + Size *int `json:"size,omitempty"` + More *bool `json:"more,omitempty"` + Style *string `json:"style,omitempty"` + Promoted *bool `json:"promoted,omitempty"` + Metadata []GetGlobalHubsMetadata `json:"Metadata,omitempty"` +} + +func (o *Hub) GetHubKey() *string { + if o == nil { + return nil + } + return o.HubKey +} + +func (o *Hub) GetKey() *string { + if o == nil { + return nil + } + return o.Key +} + +func (o *Hub) GetTitle() *string { + if o == nil { + return nil + } + return o.Title +} + +func (o *Hub) GetType() *string { + if o == nil { + return nil + } + return o.Type +} + +func (o *Hub) GetHubIdentifier() *string { + if o == nil { + return nil + } + return o.HubIdentifier +} + +func (o *Hub) GetContext() *string { + if o == nil { + return nil + } + return o.Context +} + +func (o *Hub) GetSize() *int { + if o == nil { + return nil + } + return o.Size +} + +func (o *Hub) GetMore() *bool { + if o == nil { + return nil + } + return o.More +} + +func (o *Hub) GetStyle() *string { + if o == nil { + return nil + } + return o.Style +} + +func (o *Hub) GetPromoted() *bool { + if o == nil { + return nil + } + return o.Promoted +} + +func (o *Hub) GetMetadata() []GetGlobalHubsMetadata { + if o == nil { + return nil + } + return o.Metadata +} + +type GetGlobalHubsMediaContainer struct { + Size *int `json:"size,omitempty"` + AllowSync *bool `json:"allowSync,omitempty"` + Identifier *string `json:"identifier,omitempty"` + Hub []Hub `json:"Hub,omitempty"` +} + +func (o *GetGlobalHubsMediaContainer) GetSize() *int { + if o == nil { + return nil + } + return o.Size +} + +func (o *GetGlobalHubsMediaContainer) GetAllowSync() *bool { + if o == nil { + return nil + } + return o.AllowSync +} + +func (o *GetGlobalHubsMediaContainer) GetIdentifier() *string { + if o == nil { + return nil + } + return o.Identifier +} + +func (o *GetGlobalHubsMediaContainer) GetHub() []Hub { + if o == nil { + return nil + } + return o.Hub +} + +// GetGlobalHubsResponseBody - returns global hubs +type GetGlobalHubsResponseBody struct { + MediaContainer *GetGlobalHubsMediaContainer `json:"MediaContainer,omitempty"` +} + +func (o *GetGlobalHubsResponseBody) GetMediaContainer() *GetGlobalHubsMediaContainer { + if o == nil { + return nil + } + return o.MediaContainer +} + type GetGlobalHubsResponse struct { // HTTP response content type for this operation ContentType string @@ -64,6 +341,8 @@ type GetGlobalHubsResponse struct { StatusCode int // Raw HTTP response; suitable for custom response parsing RawResponse *http.Response + // returns global hubs + Object *GetGlobalHubsResponseBody } func (o *GetGlobalHubsResponse) GetContentType() string { @@ -86,3 +365,10 @@ func (o *GetGlobalHubsResponse) GetRawResponse() *http.Response { } return o.RawResponse } + +func (o *GetGlobalHubsResponse) GetObject() *GetGlobalHubsResponseBody { + if o == nil { + return nil + } + return o.Object +} diff --git a/models/operations/getlatestlibraryitems.go b/models/operations/getlatestlibraryitems.go deleted file mode 100644 index b467966..0000000 --- a/models/operations/getlatestlibraryitems.go +++ /dev/null @@ -1,67 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package operations - -import ( - "net/http" -) - -type GetLatestLibraryItemsRequest struct { - // the Id of the library to query - SectionID float64 `pathParam:"style=simple,explode=false,name=sectionId"` - // item type - Type float64 `queryParam:"style=form,explode=true,name=type"` - // the filter parameter - Filter *string `queryParam:"style=form,explode=true,name=filter"` -} - -func (o *GetLatestLibraryItemsRequest) GetSectionID() float64 { - if o == nil { - return 0.0 - } - return o.SectionID -} - -func (o *GetLatestLibraryItemsRequest) GetType() float64 { - if o == nil { - return 0.0 - } - return o.Type -} - -func (o *GetLatestLibraryItemsRequest) GetFilter() *string { - if o == nil { - return nil - } - return o.Filter -} - -type GetLatestLibraryItemsResponse struct { - // HTTP response content type for this operation - ContentType string - // HTTP response status code for this operation - StatusCode int - // Raw HTTP response; suitable for custom response parsing - RawResponse *http.Response -} - -func (o *GetLatestLibraryItemsResponse) GetContentType() string { - if o == nil { - return "" - } - return o.ContentType -} - -func (o *GetLatestLibraryItemsResponse) GetStatusCode() int { - if o == nil { - return 0 - } - return o.StatusCode -} - -func (o *GetLatestLibraryItemsResponse) GetRawResponse() *http.Response { - if o == nil { - return nil - } - return o.RawResponse -} diff --git a/models/operations/getlibraryhubs.go b/models/operations/getlibraryhubs.go index 9a09a3d..3dd7714 100644 --- a/models/operations/getlibraryhubs.go +++ b/models/operations/getlibraryhubs.go @@ -5,6 +5,8 @@ package operations import ( "encoding/json" "fmt" + "github.com/LukeHagar/plexgo/internal/utils" + "github.com/LukeHagar/plexgo/types" "net/http" ) @@ -66,6 +68,739 @@ func (o *GetLibraryHubsRequest) GetOnlyTransient() *QueryParamOnlyTransient { return o.OnlyTransient } +type GetLibraryHubsPart struct { + ID *int `json:"id,omitempty"` + Key *string `json:"key,omitempty"` + Duration *int `json:"duration,omitempty"` + File *string `json:"file,omitempty"` + Size *int `json:"size,omitempty"` + AudioProfile *string `json:"audioProfile,omitempty"` + Container *string `json:"container,omitempty"` + Has64bitOffsets *bool `json:"has64bitOffsets,omitempty"` + OptimizedForStreaming *bool `json:"optimizedForStreaming,omitempty"` + VideoProfile *string `json:"videoProfile,omitempty"` +} + +func (o *GetLibraryHubsPart) GetID() *int { + if o == nil { + return nil + } + return o.ID +} + +func (o *GetLibraryHubsPart) GetKey() *string { + if o == nil { + return nil + } + return o.Key +} + +func (o *GetLibraryHubsPart) GetDuration() *int { + if o == nil { + return nil + } + return o.Duration +} + +func (o *GetLibraryHubsPart) GetFile() *string { + if o == nil { + return nil + } + return o.File +} + +func (o *GetLibraryHubsPart) GetSize() *int { + if o == nil { + return nil + } + return o.Size +} + +func (o *GetLibraryHubsPart) GetAudioProfile() *string { + if o == nil { + return nil + } + return o.AudioProfile +} + +func (o *GetLibraryHubsPart) GetContainer() *string { + if o == nil { + return nil + } + return o.Container +} + +func (o *GetLibraryHubsPart) GetHas64bitOffsets() *bool { + if o == nil { + return nil + } + return o.Has64bitOffsets +} + +func (o *GetLibraryHubsPart) GetOptimizedForStreaming() *bool { + if o == nil { + return nil + } + return o.OptimizedForStreaming +} + +func (o *GetLibraryHubsPart) GetVideoProfile() *string { + if o == nil { + return nil + } + return o.VideoProfile +} + +type GetLibraryHubsMedia struct { + ID *int `json:"id,omitempty"` + Duration *int `json:"duration,omitempty"` + Bitrate *int `json:"bitrate,omitempty"` + Width *int `json:"width,omitempty"` + Height *int `json:"height,omitempty"` + AspectRatio *float64 `json:"aspectRatio,omitempty"` + AudioChannels *int `json:"audioChannels,omitempty"` + AudioCodec *string `json:"audioCodec,omitempty"` + VideoCodec *string `json:"videoCodec,omitempty"` + VideoResolution *string `json:"videoResolution,omitempty"` + Container *string `json:"container,omitempty"` + VideoFrameRate *string `json:"videoFrameRate,omitempty"` + OptimizedForStreaming *int `json:"optimizedForStreaming,omitempty"` + AudioProfile *string `json:"audioProfile,omitempty"` + Has64bitOffsets *bool `json:"has64bitOffsets,omitempty"` + VideoProfile *string `json:"videoProfile,omitempty"` + Part []GetLibraryHubsPart `json:"Part,omitempty"` +} + +func (o *GetLibraryHubsMedia) GetID() *int { + if o == nil { + return nil + } + return o.ID +} + +func (o *GetLibraryHubsMedia) GetDuration() *int { + if o == nil { + return nil + } + return o.Duration +} + +func (o *GetLibraryHubsMedia) GetBitrate() *int { + if o == nil { + return nil + } + return o.Bitrate +} + +func (o *GetLibraryHubsMedia) GetWidth() *int { + if o == nil { + return nil + } + return o.Width +} + +func (o *GetLibraryHubsMedia) GetHeight() *int { + if o == nil { + return nil + } + return o.Height +} + +func (o *GetLibraryHubsMedia) GetAspectRatio() *float64 { + if o == nil { + return nil + } + return o.AspectRatio +} + +func (o *GetLibraryHubsMedia) GetAudioChannels() *int { + if o == nil { + return nil + } + return o.AudioChannels +} + +func (o *GetLibraryHubsMedia) GetAudioCodec() *string { + if o == nil { + return nil + } + return o.AudioCodec +} + +func (o *GetLibraryHubsMedia) GetVideoCodec() *string { + if o == nil { + return nil + } + return o.VideoCodec +} + +func (o *GetLibraryHubsMedia) GetVideoResolution() *string { + if o == nil { + return nil + } + return o.VideoResolution +} + +func (o *GetLibraryHubsMedia) GetContainer() *string { + if o == nil { + return nil + } + return o.Container +} + +func (o *GetLibraryHubsMedia) GetVideoFrameRate() *string { + if o == nil { + return nil + } + return o.VideoFrameRate +} + +func (o *GetLibraryHubsMedia) GetOptimizedForStreaming() *int { + if o == nil { + return nil + } + return o.OptimizedForStreaming +} + +func (o *GetLibraryHubsMedia) GetAudioProfile() *string { + if o == nil { + return nil + } + return o.AudioProfile +} + +func (o *GetLibraryHubsMedia) GetHas64bitOffsets() *bool { + if o == nil { + return nil + } + return o.Has64bitOffsets +} + +func (o *GetLibraryHubsMedia) GetVideoProfile() *string { + if o == nil { + return nil + } + return o.VideoProfile +} + +func (o *GetLibraryHubsMedia) GetPart() []GetLibraryHubsPart { + if o == nil { + return nil + } + return o.Part +} + +type GetLibraryHubsGenre struct { + Tag *string `json:"tag,omitempty"` +} + +func (o *GetLibraryHubsGenre) GetTag() *string { + if o == nil { + return nil + } + return o.Tag +} + +type GetLibraryHubsCountry struct { + Tag *string `json:"tag,omitempty"` +} + +func (o *GetLibraryHubsCountry) GetTag() *string { + if o == nil { + return nil + } + return o.Tag +} + +type GetLibraryHubsDirector struct { + Tag *string `json:"tag,omitempty"` +} + +func (o *GetLibraryHubsDirector) GetTag() *string { + if o == nil { + return nil + } + return o.Tag +} + +type GetLibraryHubsRole struct { + Tag *string `json:"tag,omitempty"` +} + +func (o *GetLibraryHubsRole) GetTag() *string { + if o == nil { + return nil + } + return o.Tag +} + +type GetLibraryHubsWriter struct { + Tag *string `json:"tag,omitempty"` +} + +func (o *GetLibraryHubsWriter) GetTag() *string { + if o == nil { + return nil + } + return o.Tag +} + +type GetLibraryHubsMetadata struct { + RatingKey *string `json:"ratingKey,omitempty"` + Key *string `json:"key,omitempty"` + GUID *string `json:"guid,omitempty"` + Studio *string `json:"studio,omitempty"` + Type *string `json:"type,omitempty"` + Title *string `json:"title,omitempty"` + LibrarySectionTitle *string `json:"librarySectionTitle,omitempty"` + LibrarySectionID *int `json:"librarySectionID,omitempty"` + LibrarySectionKey *string `json:"librarySectionKey,omitempty"` + ContentRating *string `json:"contentRating,omitempty"` + Summary *string `json:"summary,omitempty"` + Rating *float64 `json:"rating,omitempty"` + AudienceRating *float64 `json:"audienceRating,omitempty"` + ViewCount *int `json:"viewCount,omitempty"` + LastViewedAt *int `json:"lastViewedAt,omitempty"` + Year *int `json:"year,omitempty"` + Tagline *string `json:"tagline,omitempty"` + Thumb *string `json:"thumb,omitempty"` + Art *string `json:"art,omitempty"` + Duration *int `json:"duration,omitempty"` + OriginallyAvailableAt *types.Date `json:"originallyAvailableAt,omitempty"` + AddedAt *int `json:"addedAt,omitempty"` + UpdatedAt *int `json:"updatedAt,omitempty"` + AudienceRatingImage *string `json:"audienceRatingImage,omitempty"` + PrimaryExtraKey *string `json:"primaryExtraKey,omitempty"` + RatingImage *string `json:"ratingImage,omitempty"` + Media []GetLibraryHubsMedia `json:"Media,omitempty"` + Genre []GetLibraryHubsGenre `json:"Genre,omitempty"` + Country []GetLibraryHubsCountry `json:"Country,omitempty"` + Director []GetLibraryHubsDirector `json:"Director,omitempty"` + Role []GetLibraryHubsRole `json:"Role,omitempty"` + Writer []GetLibraryHubsWriter `json:"Writer,omitempty"` + SkipCount *int `json:"skipCount,omitempty"` + ChapterSource *string `json:"chapterSource,omitempty"` +} + +func (g GetLibraryHubsMetadata) MarshalJSON() ([]byte, error) { + return utils.MarshalJSON(g, "", false) +} + +func (g *GetLibraryHubsMetadata) UnmarshalJSON(data []byte) error { + if err := utils.UnmarshalJSON(data, &g, "", false, false); err != nil { + return err + } + return nil +} + +func (o *GetLibraryHubsMetadata) GetRatingKey() *string { + if o == nil { + return nil + } + return o.RatingKey +} + +func (o *GetLibraryHubsMetadata) GetKey() *string { + if o == nil { + return nil + } + return o.Key +} + +func (o *GetLibraryHubsMetadata) GetGUID() *string { + if o == nil { + return nil + } + return o.GUID +} + +func (o *GetLibraryHubsMetadata) GetStudio() *string { + if o == nil { + return nil + } + return o.Studio +} + +func (o *GetLibraryHubsMetadata) GetType() *string { + if o == nil { + return nil + } + return o.Type +} + +func (o *GetLibraryHubsMetadata) GetTitle() *string { + if o == nil { + return nil + } + return o.Title +} + +func (o *GetLibraryHubsMetadata) GetLibrarySectionTitle() *string { + if o == nil { + return nil + } + return o.LibrarySectionTitle +} + +func (o *GetLibraryHubsMetadata) GetLibrarySectionID() *int { + if o == nil { + return nil + } + return o.LibrarySectionID +} + +func (o *GetLibraryHubsMetadata) GetLibrarySectionKey() *string { + if o == nil { + return nil + } + return o.LibrarySectionKey +} + +func (o *GetLibraryHubsMetadata) GetContentRating() *string { + if o == nil { + return nil + } + return o.ContentRating +} + +func (o *GetLibraryHubsMetadata) GetSummary() *string { + if o == nil { + return nil + } + return o.Summary +} + +func (o *GetLibraryHubsMetadata) GetRating() *float64 { + if o == nil { + return nil + } + return o.Rating +} + +func (o *GetLibraryHubsMetadata) GetAudienceRating() *float64 { + if o == nil { + return nil + } + return o.AudienceRating +} + +func (o *GetLibraryHubsMetadata) GetViewCount() *int { + if o == nil { + return nil + } + return o.ViewCount +} + +func (o *GetLibraryHubsMetadata) GetLastViewedAt() *int { + if o == nil { + return nil + } + return o.LastViewedAt +} + +func (o *GetLibraryHubsMetadata) GetYear() *int { + if o == nil { + return nil + } + return o.Year +} + +func (o *GetLibraryHubsMetadata) GetTagline() *string { + if o == nil { + return nil + } + return o.Tagline +} + +func (o *GetLibraryHubsMetadata) GetThumb() *string { + if o == nil { + return nil + } + return o.Thumb +} + +func (o *GetLibraryHubsMetadata) GetArt() *string { + if o == nil { + return nil + } + return o.Art +} + +func (o *GetLibraryHubsMetadata) GetDuration() *int { + if o == nil { + return nil + } + return o.Duration +} + +func (o *GetLibraryHubsMetadata) GetOriginallyAvailableAt() *types.Date { + if o == nil { + return nil + } + return o.OriginallyAvailableAt +} + +func (o *GetLibraryHubsMetadata) GetAddedAt() *int { + if o == nil { + return nil + } + return o.AddedAt +} + +func (o *GetLibraryHubsMetadata) GetUpdatedAt() *int { + if o == nil { + return nil + } + return o.UpdatedAt +} + +func (o *GetLibraryHubsMetadata) GetAudienceRatingImage() *string { + if o == nil { + return nil + } + return o.AudienceRatingImage +} + +func (o *GetLibraryHubsMetadata) GetPrimaryExtraKey() *string { + if o == nil { + return nil + } + return o.PrimaryExtraKey +} + +func (o *GetLibraryHubsMetadata) GetRatingImage() *string { + if o == nil { + return nil + } + return o.RatingImage +} + +func (o *GetLibraryHubsMetadata) GetMedia() []GetLibraryHubsMedia { + if o == nil { + return nil + } + return o.Media +} + +func (o *GetLibraryHubsMetadata) GetGenre() []GetLibraryHubsGenre { + if o == nil { + return nil + } + return o.Genre +} + +func (o *GetLibraryHubsMetadata) GetCountry() []GetLibraryHubsCountry { + if o == nil { + return nil + } + return o.Country +} + +func (o *GetLibraryHubsMetadata) GetDirector() []GetLibraryHubsDirector { + if o == nil { + return nil + } + return o.Director +} + +func (o *GetLibraryHubsMetadata) GetRole() []GetLibraryHubsRole { + if o == nil { + return nil + } + return o.Role +} + +func (o *GetLibraryHubsMetadata) GetWriter() []GetLibraryHubsWriter { + if o == nil { + return nil + } + return o.Writer +} + +func (o *GetLibraryHubsMetadata) GetSkipCount() *int { + if o == nil { + return nil + } + return o.SkipCount +} + +func (o *GetLibraryHubsMetadata) GetChapterSource() *string { + if o == nil { + return nil + } + return o.ChapterSource +} + +type GetLibraryHubsHub struct { + Key *string `json:"key,omitempty"` + Title *string `json:"title,omitempty"` + Type *string `json:"type,omitempty"` + HubIdentifier *string `json:"hubIdentifier,omitempty"` + Context *string `json:"context,omitempty"` + Size *int `json:"size,omitempty"` + More *bool `json:"more,omitempty"` + Style *string `json:"style,omitempty"` + HubKey *string `json:"hubKey,omitempty"` + Metadata []GetLibraryHubsMetadata `json:"Metadata,omitempty"` + Promoted *bool `json:"promoted,omitempty"` + Random *bool `json:"random,omitempty"` +} + +func (o *GetLibraryHubsHub) GetKey() *string { + if o == nil { + return nil + } + return o.Key +} + +func (o *GetLibraryHubsHub) GetTitle() *string { + if o == nil { + return nil + } + return o.Title +} + +func (o *GetLibraryHubsHub) GetType() *string { + if o == nil { + return nil + } + return o.Type +} + +func (o *GetLibraryHubsHub) GetHubIdentifier() *string { + if o == nil { + return nil + } + return o.HubIdentifier +} + +func (o *GetLibraryHubsHub) GetContext() *string { + if o == nil { + return nil + } + return o.Context +} + +func (o *GetLibraryHubsHub) GetSize() *int { + if o == nil { + return nil + } + return o.Size +} + +func (o *GetLibraryHubsHub) GetMore() *bool { + if o == nil { + return nil + } + return o.More +} + +func (o *GetLibraryHubsHub) GetStyle() *string { + if o == nil { + return nil + } + return o.Style +} + +func (o *GetLibraryHubsHub) GetHubKey() *string { + if o == nil { + return nil + } + return o.HubKey +} + +func (o *GetLibraryHubsHub) GetMetadata() []GetLibraryHubsMetadata { + if o == nil { + return nil + } + return o.Metadata +} + +func (o *GetLibraryHubsHub) GetPromoted() *bool { + if o == nil { + return nil + } + return o.Promoted +} + +func (o *GetLibraryHubsHub) GetRandom() *bool { + if o == nil { + return nil + } + return o.Random +} + +type GetLibraryHubsMediaContainer struct { + Size *int `json:"size,omitempty"` + AllowSync *bool `json:"allowSync,omitempty"` + Identifier *string `json:"identifier,omitempty"` + LibrarySectionID *int `json:"librarySectionID,omitempty"` + LibrarySectionTitle *string `json:"librarySectionTitle,omitempty"` + LibrarySectionUUID *string `json:"librarySectionUUID,omitempty"` + Hub []GetLibraryHubsHub `json:"Hub,omitempty"` +} + +func (o *GetLibraryHubsMediaContainer) GetSize() *int { + if o == nil { + return nil + } + return o.Size +} + +func (o *GetLibraryHubsMediaContainer) GetAllowSync() *bool { + if o == nil { + return nil + } + return o.AllowSync +} + +func (o *GetLibraryHubsMediaContainer) GetIdentifier() *string { + if o == nil { + return nil + } + return o.Identifier +} + +func (o *GetLibraryHubsMediaContainer) GetLibrarySectionID() *int { + if o == nil { + return nil + } + return o.LibrarySectionID +} + +func (o *GetLibraryHubsMediaContainer) GetLibrarySectionTitle() *string { + if o == nil { + return nil + } + return o.LibrarySectionTitle +} + +func (o *GetLibraryHubsMediaContainer) GetLibrarySectionUUID() *string { + if o == nil { + return nil + } + return o.LibrarySectionUUID +} + +func (o *GetLibraryHubsMediaContainer) GetHub() []GetLibraryHubsHub { + if o == nil { + return nil + } + return o.Hub +} + +// GetLibraryHubsResponseBody - The hubs specific to the library +type GetLibraryHubsResponseBody struct { + MediaContainer *GetLibraryHubsMediaContainer `json:"MediaContainer,omitempty"` +} + +func (o *GetLibraryHubsResponseBody) GetMediaContainer() *GetLibraryHubsMediaContainer { + if o == nil { + return nil + } + return o.MediaContainer +} + type GetLibraryHubsResponse struct { // HTTP response content type for this operation ContentType string @@ -73,6 +808,8 @@ type GetLibraryHubsResponse struct { StatusCode int // Raw HTTP response; suitable for custom response parsing RawResponse *http.Response + // The hubs specific to the library + Object *GetLibraryHubsResponseBody } func (o *GetLibraryHubsResponse) GetContentType() string { @@ -95,3 +832,10 @@ func (o *GetLibraryHubsResponse) GetRawResponse() *http.Response { } return o.RawResponse } + +func (o *GetLibraryHubsResponse) GetObject() *GetLibraryHubsResponseBody { + if o == nil { + return nil + } + return o.Object +} diff --git a/models/operations/getlibraryitems.go b/models/operations/getlibraryitems.go index 262e3c9..28061e7 100644 --- a/models/operations/getlibraryitems.go +++ b/models/operations/getlibraryitems.go @@ -3,37 +3,764 @@ package operations import ( + "encoding/json" + "fmt" + "github.com/LukeHagar/plexgo/internal/utils" + "github.com/LukeHagar/plexgo/types" "net/http" ) -type GetLibraryItemsRequest struct { - // the Id of the library to query - SectionID float64 `pathParam:"style=simple,explode=false,name=sectionId"` - // item type - Type *float64 `queryParam:"style=form,explode=true,name=type"` - // the filter parameter - Filter *string `queryParam:"style=form,explode=true,name=filter"` +// Tag - A key representing a specific tag within the section. +type Tag string + +const ( + TagAll Tag = "all" + TagUnwatched Tag = "unwatched" + TagNewest Tag = "newest" + TagRecentlyAdded Tag = "recentlyAdded" + TagRecentlyViewed Tag = "recentlyViewed" + TagOnDeck Tag = "onDeck" + TagCollection Tag = "collection" + TagEdition Tag = "edition" + TagGenre Tag = "genre" + TagYear Tag = "year" + TagDecade Tag = "decade" + TagDirector Tag = "director" + TagActor Tag = "actor" + TagCountry Tag = "country" + TagContentRating Tag = "contentRating" + TagRating Tag = "rating" + TagResolution Tag = "resolution" + TagFirstCharacter Tag = "firstCharacter" + TagFolder Tag = "folder" + TagSearchTypeEqual1 Tag = "search?type=1" +) + +func (e Tag) ToPointer() *Tag { + return &e } -func (o *GetLibraryItemsRequest) GetSectionID() float64 { +func (e *Tag) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "all": + fallthrough + case "unwatched": + fallthrough + case "newest": + fallthrough + case "recentlyAdded": + fallthrough + case "recentlyViewed": + fallthrough + case "onDeck": + fallthrough + case "collection": + fallthrough + case "edition": + fallthrough + case "genre": + fallthrough + case "year": + fallthrough + case "decade": + fallthrough + case "director": + fallthrough + case "actor": + fallthrough + case "country": + fallthrough + case "contentRating": + fallthrough + case "rating": + fallthrough + case "resolution": + fallthrough + case "firstCharacter": + fallthrough + case "folder": + fallthrough + case "search?type=1": + *e = Tag(v) + return nil + default: + return fmt.Errorf("invalid value for Tag: %v", v) + } +} + +type GetLibraryItemsRequest struct { + // the Id of the library to query + SectionID int64 `pathParam:"style=simple,explode=false,name=sectionId"` + // A key representing a specific tag within the section. + Tag Tag `pathParam:"style=simple,explode=false,name=tag"` +} + +func (o *GetLibraryItemsRequest) GetSectionID() int64 { if o == nil { - return 0.0 + return 0 } return o.SectionID } -func (o *GetLibraryItemsRequest) GetType() *float64 { +func (o *GetLibraryItemsRequest) GetTag() Tag { + if o == nil { + return Tag("") + } + return o.Tag +} + +type GetLibraryItemsPart struct { + ID *int `json:"id,omitempty"` + Key *string `json:"key,omitempty"` + Duration *int `json:"duration,omitempty"` + File *string `json:"file,omitempty"` + Size *int64 `json:"size,omitempty"` + Container *string `json:"container,omitempty"` + VideoProfile *string `json:"videoProfile,omitempty"` +} + +func (o *GetLibraryItemsPart) GetID() *int { + if o == nil { + return nil + } + return o.ID +} + +func (o *GetLibraryItemsPart) GetKey() *string { + if o == nil { + return nil + } + return o.Key +} + +func (o *GetLibraryItemsPart) GetDuration() *int { + if o == nil { + return nil + } + return o.Duration +} + +func (o *GetLibraryItemsPart) GetFile() *string { + if o == nil { + return nil + } + return o.File +} + +func (o *GetLibraryItemsPart) GetSize() *int64 { + if o == nil { + return nil + } + return o.Size +} + +func (o *GetLibraryItemsPart) GetContainer() *string { + if o == nil { + return nil + } + return o.Container +} + +func (o *GetLibraryItemsPart) GetVideoProfile() *string { + if o == nil { + return nil + } + return o.VideoProfile +} + +type GetLibraryItemsMedia struct { + ID *int `json:"id,omitempty"` + Duration *int `json:"duration,omitempty"` + Bitrate *int `json:"bitrate,omitempty"` + Width *int `json:"width,omitempty"` + Height *int `json:"height,omitempty"` + AspectRatio *float64 `json:"aspectRatio,omitempty"` + AudioChannels *int `json:"audioChannels,omitempty"` + AudioCodec *string `json:"audioCodec,omitempty"` + VideoCodec *string `json:"videoCodec,omitempty"` + VideoResolution *string `json:"videoResolution,omitempty"` + Container *string `json:"container,omitempty"` + VideoFrameRate *string `json:"videoFrameRate,omitempty"` + VideoProfile *string `json:"videoProfile,omitempty"` + Part []GetLibraryItemsPart `json:"Part,omitempty"` +} + +func (o *GetLibraryItemsMedia) GetID() *int { + if o == nil { + return nil + } + return o.ID +} + +func (o *GetLibraryItemsMedia) GetDuration() *int { + if o == nil { + return nil + } + return o.Duration +} + +func (o *GetLibraryItemsMedia) GetBitrate() *int { + if o == nil { + return nil + } + return o.Bitrate +} + +func (o *GetLibraryItemsMedia) GetWidth() *int { + if o == nil { + return nil + } + return o.Width +} + +func (o *GetLibraryItemsMedia) GetHeight() *int { + if o == nil { + return nil + } + return o.Height +} + +func (o *GetLibraryItemsMedia) GetAspectRatio() *float64 { + if o == nil { + return nil + } + return o.AspectRatio +} + +func (o *GetLibraryItemsMedia) GetAudioChannels() *int { + if o == nil { + return nil + } + return o.AudioChannels +} + +func (o *GetLibraryItemsMedia) GetAudioCodec() *string { + if o == nil { + return nil + } + return o.AudioCodec +} + +func (o *GetLibraryItemsMedia) GetVideoCodec() *string { + if o == nil { + return nil + } + return o.VideoCodec +} + +func (o *GetLibraryItemsMedia) GetVideoResolution() *string { + if o == nil { + return nil + } + return o.VideoResolution +} + +func (o *GetLibraryItemsMedia) GetContainer() *string { + if o == nil { + return nil + } + return o.Container +} + +func (o *GetLibraryItemsMedia) GetVideoFrameRate() *string { + if o == nil { + return nil + } + return o.VideoFrameRate +} + +func (o *GetLibraryItemsMedia) GetVideoProfile() *string { + if o == nil { + return nil + } + return o.VideoProfile +} + +func (o *GetLibraryItemsMedia) GetPart() []GetLibraryItemsPart { + if o == nil { + return nil + } + return o.Part +} + +type GetLibraryItemsGenre struct { + Tag *string `json:"tag,omitempty"` +} + +func (o *GetLibraryItemsGenre) GetTag() *string { + if o == nil { + return nil + } + return o.Tag +} + +type GetLibraryItemsCountry struct { + Tag *string `json:"tag,omitempty"` +} + +func (o *GetLibraryItemsCountry) GetTag() *string { + if o == nil { + return nil + } + return o.Tag +} + +type GetLibraryItemsDirector struct { + Tag *string `json:"tag,omitempty"` +} + +func (o *GetLibraryItemsDirector) GetTag() *string { + if o == nil { + return nil + } + return o.Tag +} + +type GetLibraryItemsWriter struct { + Tag *string `json:"tag,omitempty"` +} + +func (o *GetLibraryItemsWriter) GetTag() *string { + if o == nil { + return nil + } + return o.Tag +} + +type GetLibraryItemsRole struct { + Tag *string `json:"tag,omitempty"` +} + +func (o *GetLibraryItemsRole) GetTag() *string { + if o == nil { + return nil + } + return o.Tag +} + +type GetLibraryItemsMetadata struct { + RatingKey *string `json:"ratingKey,omitempty"` + Key *string `json:"key,omitempty"` + GUID *string `json:"guid,omitempty"` + Studio *string `json:"studio,omitempty"` + Type *string `json:"type,omitempty"` + Title *string `json:"title,omitempty"` + ContentRating *string `json:"contentRating,omitempty"` + Summary *string `json:"summary,omitempty"` + Rating *float64 `json:"rating,omitempty"` + AudienceRating *float64 `json:"audienceRating,omitempty"` + Year *int `json:"year,omitempty"` + Tagline *string `json:"tagline,omitempty"` + Thumb *string `json:"thumb,omitempty"` + Art *string `json:"art,omitempty"` + Duration *int `json:"duration,omitempty"` + OriginallyAvailableAt *types.Date `json:"originallyAvailableAt,omitempty"` + AddedAt *int `json:"addedAt,omitempty"` + UpdatedAt *int `json:"updatedAt,omitempty"` + AudienceRatingImage *string `json:"audienceRatingImage,omitempty"` + ChapterSource *string `json:"chapterSource,omitempty"` + PrimaryExtraKey *string `json:"primaryExtraKey,omitempty"` + RatingImage *string `json:"ratingImage,omitempty"` + Media []GetLibraryItemsMedia `json:"Media,omitempty"` + Genre []GetLibraryItemsGenre `json:"Genre,omitempty"` + Country []GetLibraryItemsCountry `json:"Country,omitempty"` + Director []GetLibraryItemsDirector `json:"Director,omitempty"` + Writer []GetLibraryItemsWriter `json:"Writer,omitempty"` + Role []GetLibraryItemsRole `json:"Role,omitempty"` + TitleSort *string `json:"titleSort,omitempty"` + ViewCount *int `json:"viewCount,omitempty"` + LastViewedAt *int `json:"lastViewedAt,omitempty"` + OriginalTitle *string `json:"originalTitle,omitempty"` + ViewOffset *int `json:"viewOffset,omitempty"` + SkipCount *int `json:"skipCount,omitempty"` +} + +func (g GetLibraryItemsMetadata) MarshalJSON() ([]byte, error) { + return utils.MarshalJSON(g, "", false) +} + +func (g *GetLibraryItemsMetadata) UnmarshalJSON(data []byte) error { + if err := utils.UnmarshalJSON(data, &g, "", false, false); err != nil { + return err + } + return nil +} + +func (o *GetLibraryItemsMetadata) GetRatingKey() *string { + if o == nil { + return nil + } + return o.RatingKey +} + +func (o *GetLibraryItemsMetadata) GetKey() *string { + if o == nil { + return nil + } + return o.Key +} + +func (o *GetLibraryItemsMetadata) GetGUID() *string { + if o == nil { + return nil + } + return o.GUID +} + +func (o *GetLibraryItemsMetadata) GetStudio() *string { + if o == nil { + return nil + } + return o.Studio +} + +func (o *GetLibraryItemsMetadata) GetType() *string { if o == nil { return nil } return o.Type } -func (o *GetLibraryItemsRequest) GetFilter() *string { +func (o *GetLibraryItemsMetadata) GetTitle() *string { if o == nil { return nil } - return o.Filter + return o.Title +} + +func (o *GetLibraryItemsMetadata) GetContentRating() *string { + if o == nil { + return nil + } + return o.ContentRating +} + +func (o *GetLibraryItemsMetadata) GetSummary() *string { + if o == nil { + return nil + } + return o.Summary +} + +func (o *GetLibraryItemsMetadata) GetRating() *float64 { + if o == nil { + return nil + } + return o.Rating +} + +func (o *GetLibraryItemsMetadata) GetAudienceRating() *float64 { + if o == nil { + return nil + } + return o.AudienceRating +} + +func (o *GetLibraryItemsMetadata) GetYear() *int { + if o == nil { + return nil + } + return o.Year +} + +func (o *GetLibraryItemsMetadata) GetTagline() *string { + if o == nil { + return nil + } + return o.Tagline +} + +func (o *GetLibraryItemsMetadata) GetThumb() *string { + if o == nil { + return nil + } + return o.Thumb +} + +func (o *GetLibraryItemsMetadata) GetArt() *string { + if o == nil { + return nil + } + return o.Art +} + +func (o *GetLibraryItemsMetadata) GetDuration() *int { + if o == nil { + return nil + } + return o.Duration +} + +func (o *GetLibraryItemsMetadata) GetOriginallyAvailableAt() *types.Date { + if o == nil { + return nil + } + return o.OriginallyAvailableAt +} + +func (o *GetLibraryItemsMetadata) GetAddedAt() *int { + if o == nil { + return nil + } + return o.AddedAt +} + +func (o *GetLibraryItemsMetadata) GetUpdatedAt() *int { + if o == nil { + return nil + } + return o.UpdatedAt +} + +func (o *GetLibraryItemsMetadata) GetAudienceRatingImage() *string { + if o == nil { + return nil + } + return o.AudienceRatingImage +} + +func (o *GetLibraryItemsMetadata) GetChapterSource() *string { + if o == nil { + return nil + } + return o.ChapterSource +} + +func (o *GetLibraryItemsMetadata) GetPrimaryExtraKey() *string { + if o == nil { + return nil + } + return o.PrimaryExtraKey +} + +func (o *GetLibraryItemsMetadata) GetRatingImage() *string { + if o == nil { + return nil + } + return o.RatingImage +} + +func (o *GetLibraryItemsMetadata) GetMedia() []GetLibraryItemsMedia { + if o == nil { + return nil + } + return o.Media +} + +func (o *GetLibraryItemsMetadata) GetGenre() []GetLibraryItemsGenre { + if o == nil { + return nil + } + return o.Genre +} + +func (o *GetLibraryItemsMetadata) GetCountry() []GetLibraryItemsCountry { + if o == nil { + return nil + } + return o.Country +} + +func (o *GetLibraryItemsMetadata) GetDirector() []GetLibraryItemsDirector { + if o == nil { + return nil + } + return o.Director +} + +func (o *GetLibraryItemsMetadata) GetWriter() []GetLibraryItemsWriter { + if o == nil { + return nil + } + return o.Writer +} + +func (o *GetLibraryItemsMetadata) GetRole() []GetLibraryItemsRole { + if o == nil { + return nil + } + return o.Role +} + +func (o *GetLibraryItemsMetadata) GetTitleSort() *string { + if o == nil { + return nil + } + return o.TitleSort +} + +func (o *GetLibraryItemsMetadata) GetViewCount() *int { + if o == nil { + return nil + } + return o.ViewCount +} + +func (o *GetLibraryItemsMetadata) GetLastViewedAt() *int { + if o == nil { + return nil + } + return o.LastViewedAt +} + +func (o *GetLibraryItemsMetadata) GetOriginalTitle() *string { + if o == nil { + return nil + } + return o.OriginalTitle +} + +func (o *GetLibraryItemsMetadata) GetViewOffset() *int { + if o == nil { + return nil + } + return o.ViewOffset +} + +func (o *GetLibraryItemsMetadata) GetSkipCount() *int { + if o == nil { + return nil + } + return o.SkipCount +} + +type GetLibraryItemsMediaContainer struct { + Size *int `json:"size,omitempty"` + AllowSync *bool `json:"allowSync,omitempty"` + Art *string `json:"art,omitempty"` + Identifier *string `json:"identifier,omitempty"` + LibrarySectionID *int `json:"librarySectionID,omitempty"` + LibrarySectionTitle *string `json:"librarySectionTitle,omitempty"` + LibrarySectionUUID *string `json:"librarySectionUUID,omitempty"` + MediaTagPrefix *string `json:"mediaTagPrefix,omitempty"` + MediaTagVersion *int `json:"mediaTagVersion,omitempty"` + Thumb *string `json:"thumb,omitempty"` + Title1 *string `json:"title1,omitempty"` + Title2 *string `json:"title2,omitempty"` + ViewGroup *string `json:"viewGroup,omitempty"` + ViewMode *int `json:"viewMode,omitempty"` + Metadata []GetLibraryItemsMetadata `json:"Metadata,omitempty"` +} + +func (o *GetLibraryItemsMediaContainer) GetSize() *int { + if o == nil { + return nil + } + return o.Size +} + +func (o *GetLibraryItemsMediaContainer) GetAllowSync() *bool { + if o == nil { + return nil + } + return o.AllowSync +} + +func (o *GetLibraryItemsMediaContainer) GetArt() *string { + if o == nil { + return nil + } + return o.Art +} + +func (o *GetLibraryItemsMediaContainer) GetIdentifier() *string { + if o == nil { + return nil + } + return o.Identifier +} + +func (o *GetLibraryItemsMediaContainer) GetLibrarySectionID() *int { + if o == nil { + return nil + } + return o.LibrarySectionID +} + +func (o *GetLibraryItemsMediaContainer) GetLibrarySectionTitle() *string { + if o == nil { + return nil + } + return o.LibrarySectionTitle +} + +func (o *GetLibraryItemsMediaContainer) GetLibrarySectionUUID() *string { + if o == nil { + return nil + } + return o.LibrarySectionUUID +} + +func (o *GetLibraryItemsMediaContainer) GetMediaTagPrefix() *string { + if o == nil { + return nil + } + return o.MediaTagPrefix +} + +func (o *GetLibraryItemsMediaContainer) GetMediaTagVersion() *int { + if o == nil { + return nil + } + return o.MediaTagVersion +} + +func (o *GetLibraryItemsMediaContainer) GetThumb() *string { + if o == nil { + return nil + } + return o.Thumb +} + +func (o *GetLibraryItemsMediaContainer) GetTitle1() *string { + if o == nil { + return nil + } + return o.Title1 +} + +func (o *GetLibraryItemsMediaContainer) GetTitle2() *string { + if o == nil { + return nil + } + return o.Title2 +} + +func (o *GetLibraryItemsMediaContainer) GetViewGroup() *string { + if o == nil { + return nil + } + return o.ViewGroup +} + +func (o *GetLibraryItemsMediaContainer) GetViewMode() *int { + if o == nil { + return nil + } + return o.ViewMode +} + +func (o *GetLibraryItemsMediaContainer) GetMetadata() []GetLibraryItemsMetadata { + if o == nil { + return nil + } + return o.Metadata +} + +// GetLibraryItemsResponseBody - The contents of the library by section and tag +type GetLibraryItemsResponseBody struct { + MediaContainer *GetLibraryItemsMediaContainer `json:"MediaContainer,omitempty"` +} + +func (o *GetLibraryItemsResponseBody) GetMediaContainer() *GetLibraryItemsMediaContainer { + if o == nil { + return nil + } + return o.MediaContainer } type GetLibraryItemsResponse struct { @@ -43,6 +770,8 @@ type GetLibraryItemsResponse struct { StatusCode int // Raw HTTP response; suitable for custom response parsing RawResponse *http.Response + // The contents of the library by section and tag + Object *GetLibraryItemsResponseBody } func (o *GetLibraryItemsResponse) GetContentType() string { @@ -65,3 +794,10 @@ func (o *GetLibraryItemsResponse) GetRawResponse() *http.Response { } return o.RawResponse } + +func (o *GetLibraryItemsResponse) GetObject() *GetLibraryItemsResponseBody { + if o == nil { + return nil + } + return o.Object +} diff --git a/models/operations/getmetadata.go b/models/operations/getmetadata.go index 4105e04..c359e9e 100644 --- a/models/operations/getmetadata.go +++ b/models/operations/getmetadata.go @@ -3,6 +3,8 @@ package operations import ( + "github.com/LukeHagar/plexgo/internal/utils" + "github.com/LukeHagar/plexgo/types" "net/http" ) @@ -18,6 +20,1132 @@ func (o *GetMetadataRequest) GetRatingKey() float64 { return o.RatingKey } +type Stream struct { + ID *int `json:"id,omitempty"` + StreamType *int `json:"streamType,omitempty"` + Default *bool `json:"default,omitempty"` + Codec *string `json:"codec,omitempty"` + Index *int `json:"index,omitempty"` + Bitrate *int `json:"bitrate,omitempty"` + BitDepth *int `json:"bitDepth,omitempty"` + ChromaLocation *string `json:"chromaLocation,omitempty"` + ChromaSubsampling *string `json:"chromaSubsampling,omitempty"` + CodedHeight *int `json:"codedHeight,omitempty"` + CodedWidth *int `json:"codedWidth,omitempty"` + ColorPrimaries *string `json:"colorPrimaries,omitempty"` + ColorRange *string `json:"colorRange,omitempty"` + ColorSpace *string `json:"colorSpace,omitempty"` + ColorTrc *string `json:"colorTrc,omitempty"` + FrameRate *int `json:"frameRate,omitempty"` + HasScalingMatrix *bool `json:"hasScalingMatrix,omitempty"` + Height *int `json:"height,omitempty"` + Level *int `json:"level,omitempty"` + Profile *string `json:"profile,omitempty"` + RefFrames *int `json:"refFrames,omitempty"` + ScanType *string `json:"scanType,omitempty"` + StreamIdentifier *string `json:"streamIdentifier,omitempty"` + Width *int `json:"width,omitempty"` + DisplayTitle *string `json:"displayTitle,omitempty"` + ExtendedDisplayTitle *string `json:"extendedDisplayTitle,omitempty"` + Selected *bool `json:"selected,omitempty"` + Channels *int `json:"channels,omitempty"` + Language *string `json:"language,omitempty"` + LanguageTag *string `json:"languageTag,omitempty"` + LanguageCode *string `json:"languageCode,omitempty"` + SamplingRate *int `json:"samplingRate,omitempty"` +} + +func (o *Stream) GetID() *int { + if o == nil { + return nil + } + return o.ID +} + +func (o *Stream) GetStreamType() *int { + if o == nil { + return nil + } + return o.StreamType +} + +func (o *Stream) GetDefault() *bool { + if o == nil { + return nil + } + return o.Default +} + +func (o *Stream) GetCodec() *string { + if o == nil { + return nil + } + return o.Codec +} + +func (o *Stream) GetIndex() *int { + if o == nil { + return nil + } + return o.Index +} + +func (o *Stream) GetBitrate() *int { + if o == nil { + return nil + } + return o.Bitrate +} + +func (o *Stream) GetBitDepth() *int { + if o == nil { + return nil + } + return o.BitDepth +} + +func (o *Stream) GetChromaLocation() *string { + if o == nil { + return nil + } + return o.ChromaLocation +} + +func (o *Stream) GetChromaSubsampling() *string { + if o == nil { + return nil + } + return o.ChromaSubsampling +} + +func (o *Stream) GetCodedHeight() *int { + if o == nil { + return nil + } + return o.CodedHeight +} + +func (o *Stream) GetCodedWidth() *int { + if o == nil { + return nil + } + return o.CodedWidth +} + +func (o *Stream) GetColorPrimaries() *string { + if o == nil { + return nil + } + return o.ColorPrimaries +} + +func (o *Stream) GetColorRange() *string { + if o == nil { + return nil + } + return o.ColorRange +} + +func (o *Stream) GetColorSpace() *string { + if o == nil { + return nil + } + return o.ColorSpace +} + +func (o *Stream) GetColorTrc() *string { + if o == nil { + return nil + } + return o.ColorTrc +} + +func (o *Stream) GetFrameRate() *int { + if o == nil { + return nil + } + return o.FrameRate +} + +func (o *Stream) GetHasScalingMatrix() *bool { + if o == nil { + return nil + } + return o.HasScalingMatrix +} + +func (o *Stream) GetHeight() *int { + if o == nil { + return nil + } + return o.Height +} + +func (o *Stream) GetLevel() *int { + if o == nil { + return nil + } + return o.Level +} + +func (o *Stream) GetProfile() *string { + if o == nil { + return nil + } + return o.Profile +} + +func (o *Stream) GetRefFrames() *int { + if o == nil { + return nil + } + return o.RefFrames +} + +func (o *Stream) GetScanType() *string { + if o == nil { + return nil + } + return o.ScanType +} + +func (o *Stream) GetStreamIdentifier() *string { + if o == nil { + return nil + } + return o.StreamIdentifier +} + +func (o *Stream) GetWidth() *int { + if o == nil { + return nil + } + return o.Width +} + +func (o *Stream) GetDisplayTitle() *string { + if o == nil { + return nil + } + return o.DisplayTitle +} + +func (o *Stream) GetExtendedDisplayTitle() *string { + if o == nil { + return nil + } + return o.ExtendedDisplayTitle +} + +func (o *Stream) GetSelected() *bool { + if o == nil { + return nil + } + return o.Selected +} + +func (o *Stream) GetChannels() *int { + if o == nil { + return nil + } + return o.Channels +} + +func (o *Stream) GetLanguage() *string { + if o == nil { + return nil + } + return o.Language +} + +func (o *Stream) GetLanguageTag() *string { + if o == nil { + return nil + } + return o.LanguageTag +} + +func (o *Stream) GetLanguageCode() *string { + if o == nil { + return nil + } + return o.LanguageCode +} + +func (o *Stream) GetSamplingRate() *int { + if o == nil { + return nil + } + return o.SamplingRate +} + +type GetMetadataPart struct { + ID *int `json:"id,omitempty"` + Key *string `json:"key,omitempty"` + Duration *int `json:"duration,omitempty"` + File *string `json:"file,omitempty"` + Size *int `json:"size,omitempty"` + AudioProfile *string `json:"audioProfile,omitempty"` + Container *string `json:"container,omitempty"` + Has64bitOffsets *bool `json:"has64bitOffsets,omitempty"` + OptimizedForStreaming *bool `json:"optimizedForStreaming,omitempty"` + VideoProfile *string `json:"videoProfile,omitempty"` + Stream []Stream `json:"Stream,omitempty"` +} + +func (o *GetMetadataPart) GetID() *int { + if o == nil { + return nil + } + return o.ID +} + +func (o *GetMetadataPart) GetKey() *string { + if o == nil { + return nil + } + return o.Key +} + +func (o *GetMetadataPart) GetDuration() *int { + if o == nil { + return nil + } + return o.Duration +} + +func (o *GetMetadataPart) GetFile() *string { + if o == nil { + return nil + } + return o.File +} + +func (o *GetMetadataPart) GetSize() *int { + if o == nil { + return nil + } + return o.Size +} + +func (o *GetMetadataPart) GetAudioProfile() *string { + if o == nil { + return nil + } + return o.AudioProfile +} + +func (o *GetMetadataPart) GetContainer() *string { + if o == nil { + return nil + } + return o.Container +} + +func (o *GetMetadataPart) GetHas64bitOffsets() *bool { + if o == nil { + return nil + } + return o.Has64bitOffsets +} + +func (o *GetMetadataPart) GetOptimizedForStreaming() *bool { + if o == nil { + return nil + } + return o.OptimizedForStreaming +} + +func (o *GetMetadataPart) GetVideoProfile() *string { + if o == nil { + return nil + } + return o.VideoProfile +} + +func (o *GetMetadataPart) GetStream() []Stream { + if o == nil { + return nil + } + return o.Stream +} + +type GetMetadataMedia struct { + ID *int `json:"id,omitempty"` + Duration *int `json:"duration,omitempty"` + Bitrate *int `json:"bitrate,omitempty"` + Width *int `json:"width,omitempty"` + Height *int `json:"height,omitempty"` + AspectRatio *float64 `json:"aspectRatio,omitempty"` + AudioChannels *int `json:"audioChannels,omitempty"` + AudioCodec *string `json:"audioCodec,omitempty"` + VideoCodec *string `json:"videoCodec,omitempty"` + VideoResolution *string `json:"videoResolution,omitempty"` + Container *string `json:"container,omitempty"` + VideoFrameRate *string `json:"videoFrameRate,omitempty"` + OptimizedForStreaming *int `json:"optimizedForStreaming,omitempty"` + AudioProfile *string `json:"audioProfile,omitempty"` + Has64bitOffsets *bool `json:"has64bitOffsets,omitempty"` + VideoProfile *string `json:"videoProfile,omitempty"` + Part []GetMetadataPart `json:"Part,omitempty"` +} + +func (o *GetMetadataMedia) GetID() *int { + if o == nil { + return nil + } + return o.ID +} + +func (o *GetMetadataMedia) GetDuration() *int { + if o == nil { + return nil + } + return o.Duration +} + +func (o *GetMetadataMedia) GetBitrate() *int { + if o == nil { + return nil + } + return o.Bitrate +} + +func (o *GetMetadataMedia) GetWidth() *int { + if o == nil { + return nil + } + return o.Width +} + +func (o *GetMetadataMedia) GetHeight() *int { + if o == nil { + return nil + } + return o.Height +} + +func (o *GetMetadataMedia) GetAspectRatio() *float64 { + if o == nil { + return nil + } + return o.AspectRatio +} + +func (o *GetMetadataMedia) GetAudioChannels() *int { + if o == nil { + return nil + } + return o.AudioChannels +} + +func (o *GetMetadataMedia) GetAudioCodec() *string { + if o == nil { + return nil + } + return o.AudioCodec +} + +func (o *GetMetadataMedia) GetVideoCodec() *string { + if o == nil { + return nil + } + return o.VideoCodec +} + +func (o *GetMetadataMedia) GetVideoResolution() *string { + if o == nil { + return nil + } + return o.VideoResolution +} + +func (o *GetMetadataMedia) GetContainer() *string { + if o == nil { + return nil + } + return o.Container +} + +func (o *GetMetadataMedia) GetVideoFrameRate() *string { + if o == nil { + return nil + } + return o.VideoFrameRate +} + +func (o *GetMetadataMedia) GetOptimizedForStreaming() *int { + if o == nil { + return nil + } + return o.OptimizedForStreaming +} + +func (o *GetMetadataMedia) GetAudioProfile() *string { + if o == nil { + return nil + } + return o.AudioProfile +} + +func (o *GetMetadataMedia) GetHas64bitOffsets() *bool { + if o == nil { + return nil + } + return o.Has64bitOffsets +} + +func (o *GetMetadataMedia) GetVideoProfile() *string { + if o == nil { + return nil + } + return o.VideoProfile +} + +func (o *GetMetadataMedia) GetPart() []GetMetadataPart { + if o == nil { + return nil + } + return o.Part +} + +type GetMetadataGenre struct { + ID *int `json:"id,omitempty"` + Filter *string `json:"filter,omitempty"` + Tag *string `json:"tag,omitempty"` +} + +func (o *GetMetadataGenre) GetID() *int { + if o == nil { + return nil + } + return o.ID +} + +func (o *GetMetadataGenre) GetFilter() *string { + if o == nil { + return nil + } + return o.Filter +} + +func (o *GetMetadataGenre) GetTag() *string { + if o == nil { + return nil + } + return o.Tag +} + +type GetMetadataCountry struct { + ID *int `json:"id,omitempty"` + Filter *string `json:"filter,omitempty"` + Tag *string `json:"tag,omitempty"` +} + +func (o *GetMetadataCountry) GetID() *int { + if o == nil { + return nil + } + return o.ID +} + +func (o *GetMetadataCountry) GetFilter() *string { + if o == nil { + return nil + } + return o.Filter +} + +func (o *GetMetadataCountry) GetTag() *string { + if o == nil { + return nil + } + return o.Tag +} + +type Guids struct { + ID *string `json:"id,omitempty"` +} + +func (o *Guids) GetID() *string { + if o == nil { + return nil + } + return o.ID +} + +type Ratings struct { + Image *string `json:"image,omitempty"` + Value *float64 `json:"value,omitempty"` + Type *string `json:"type,omitempty"` +} + +func (o *Ratings) GetImage() *string { + if o == nil { + return nil + } + return o.Image +} + +func (o *Ratings) GetValue() *float64 { + if o == nil { + return nil + } + return o.Value +} + +func (o *Ratings) GetType() *string { + if o == nil { + return nil + } + return o.Type +} + +type GetMetadataDirector struct { + ID *int `json:"id,omitempty"` + Filter *string `json:"filter,omitempty"` + Tag *string `json:"tag,omitempty"` + TagKey *string `json:"tagKey,omitempty"` + Thumb *string `json:"thumb,omitempty"` +} + +func (o *GetMetadataDirector) GetID() *int { + if o == nil { + return nil + } + return o.ID +} + +func (o *GetMetadataDirector) GetFilter() *string { + if o == nil { + return nil + } + return o.Filter +} + +func (o *GetMetadataDirector) GetTag() *string { + if o == nil { + return nil + } + return o.Tag +} + +func (o *GetMetadataDirector) GetTagKey() *string { + if o == nil { + return nil + } + return o.TagKey +} + +func (o *GetMetadataDirector) GetThumb() *string { + if o == nil { + return nil + } + return o.Thumb +} + +type GetMetadataWriter struct { + ID *int `json:"id,omitempty"` + Filter *string `json:"filter,omitempty"` + Tag *string `json:"tag,omitempty"` + TagKey *string `json:"tagKey,omitempty"` + Thumb *string `json:"thumb,omitempty"` +} + +func (o *GetMetadataWriter) GetID() *int { + if o == nil { + return nil + } + return o.ID +} + +func (o *GetMetadataWriter) GetFilter() *string { + if o == nil { + return nil + } + return o.Filter +} + +func (o *GetMetadataWriter) GetTag() *string { + if o == nil { + return nil + } + return o.Tag +} + +func (o *GetMetadataWriter) GetTagKey() *string { + if o == nil { + return nil + } + return o.TagKey +} + +func (o *GetMetadataWriter) GetThumb() *string { + if o == nil { + return nil + } + return o.Thumb +} + +type GetMetadataRole struct { + ID *int `json:"id,omitempty"` + Filter *string `json:"filter,omitempty"` + Tag *string `json:"tag,omitempty"` + TagKey *string `json:"tagKey,omitempty"` + Role *string `json:"role,omitempty"` + Thumb *string `json:"thumb,omitempty"` +} + +func (o *GetMetadataRole) GetID() *int { + if o == nil { + return nil + } + return o.ID +} + +func (o *GetMetadataRole) GetFilter() *string { + if o == nil { + return nil + } + return o.Filter +} + +func (o *GetMetadataRole) GetTag() *string { + if o == nil { + return nil + } + return o.Tag +} + +func (o *GetMetadataRole) GetTagKey() *string { + if o == nil { + return nil + } + return o.TagKey +} + +func (o *GetMetadataRole) GetRole() *string { + if o == nil { + return nil + } + return o.Role +} + +func (o *GetMetadataRole) GetThumb() *string { + if o == nil { + return nil + } + return o.Thumb +} + +type Producer struct { + ID *int `json:"id,omitempty"` + Filter *string `json:"filter,omitempty"` + Tag *string `json:"tag,omitempty"` + TagKey *string `json:"tagKey,omitempty"` + Thumb *string `json:"thumb,omitempty"` +} + +func (o *Producer) GetID() *int { + if o == nil { + return nil + } + return o.ID +} + +func (o *Producer) GetFilter() *string { + if o == nil { + return nil + } + return o.Filter +} + +func (o *Producer) GetTag() *string { + if o == nil { + return nil + } + return o.Tag +} + +func (o *Producer) GetTagKey() *string { + if o == nil { + return nil + } + return o.TagKey +} + +func (o *Producer) GetThumb() *string { + if o == nil { + return nil + } + return o.Thumb +} + +type GetMetadataMetadata struct { + RatingKey *string `json:"ratingKey,omitempty"` + Key *string `json:"key,omitempty"` + GUID *string `json:"guid,omitempty"` + Studio *string `json:"studio,omitempty"` + Type *string `json:"type,omitempty"` + Title *string `json:"title,omitempty"` + LibrarySectionTitle *string `json:"librarySectionTitle,omitempty"` + LibrarySectionID *int `json:"librarySectionID,omitempty"` + LibrarySectionKey *string `json:"librarySectionKey,omitempty"` + ContentRating *string `json:"contentRating,omitempty"` + Summary *string `json:"summary,omitempty"` + Rating *float64 `json:"rating,omitempty"` + AudienceRating *float64 `json:"audienceRating,omitempty"` + Year *int `json:"year,omitempty"` + Tagline *string `json:"tagline,omitempty"` + Thumb *string `json:"thumb,omitempty"` + Art *string `json:"art,omitempty"` + Duration *int `json:"duration,omitempty"` + OriginallyAvailableAt *types.Date `json:"originallyAvailableAt,omitempty"` + AddedAt *int `json:"addedAt,omitempty"` + UpdatedAt *int `json:"updatedAt,omitempty"` + AudienceRatingImage *string `json:"audienceRatingImage,omitempty"` + HasPremiumPrimaryExtra *string `json:"hasPremiumPrimaryExtra,omitempty"` + RatingImage *string `json:"ratingImage,omitempty"` + Media []GetMetadataMedia `json:"Media,omitempty"` + Genre []GetMetadataGenre `json:"Genre,omitempty"` + Country []GetMetadataCountry `json:"Country,omitempty"` + Guids []Guids `json:"Guid,omitempty"` + Ratings []Ratings `json:"Rating,omitempty"` + Director []GetMetadataDirector `json:"Director,omitempty"` + Writer []GetMetadataWriter `json:"Writer,omitempty"` + Role []GetMetadataRole `json:"Role,omitempty"` + Producer []Producer `json:"Producer,omitempty"` +} + +func (g GetMetadataMetadata) MarshalJSON() ([]byte, error) { + return utils.MarshalJSON(g, "", false) +} + +func (g *GetMetadataMetadata) UnmarshalJSON(data []byte) error { + if err := utils.UnmarshalJSON(data, &g, "", false, false); err != nil { + return err + } + return nil +} + +func (o *GetMetadataMetadata) GetRatingKey() *string { + if o == nil { + return nil + } + return o.RatingKey +} + +func (o *GetMetadataMetadata) GetKey() *string { + if o == nil { + return nil + } + return o.Key +} + +func (o *GetMetadataMetadata) GetGUID() *string { + if o == nil { + return nil + } + return o.GUID +} + +func (o *GetMetadataMetadata) GetStudio() *string { + if o == nil { + return nil + } + return o.Studio +} + +func (o *GetMetadataMetadata) GetType() *string { + if o == nil { + return nil + } + return o.Type +} + +func (o *GetMetadataMetadata) GetTitle() *string { + if o == nil { + return nil + } + return o.Title +} + +func (o *GetMetadataMetadata) GetLibrarySectionTitle() *string { + if o == nil { + return nil + } + return o.LibrarySectionTitle +} + +func (o *GetMetadataMetadata) GetLibrarySectionID() *int { + if o == nil { + return nil + } + return o.LibrarySectionID +} + +func (o *GetMetadataMetadata) GetLibrarySectionKey() *string { + if o == nil { + return nil + } + return o.LibrarySectionKey +} + +func (o *GetMetadataMetadata) GetContentRating() *string { + if o == nil { + return nil + } + return o.ContentRating +} + +func (o *GetMetadataMetadata) GetSummary() *string { + if o == nil { + return nil + } + return o.Summary +} + +func (o *GetMetadataMetadata) GetRating() *float64 { + if o == nil { + return nil + } + return o.Rating +} + +func (o *GetMetadataMetadata) GetAudienceRating() *float64 { + if o == nil { + return nil + } + return o.AudienceRating +} + +func (o *GetMetadataMetadata) GetYear() *int { + if o == nil { + return nil + } + return o.Year +} + +func (o *GetMetadataMetadata) GetTagline() *string { + if o == nil { + return nil + } + return o.Tagline +} + +func (o *GetMetadataMetadata) GetThumb() *string { + if o == nil { + return nil + } + return o.Thumb +} + +func (o *GetMetadataMetadata) GetArt() *string { + if o == nil { + return nil + } + return o.Art +} + +func (o *GetMetadataMetadata) GetDuration() *int { + if o == nil { + return nil + } + return o.Duration +} + +func (o *GetMetadataMetadata) GetOriginallyAvailableAt() *types.Date { + if o == nil { + return nil + } + return o.OriginallyAvailableAt +} + +func (o *GetMetadataMetadata) GetAddedAt() *int { + if o == nil { + return nil + } + return o.AddedAt +} + +func (o *GetMetadataMetadata) GetUpdatedAt() *int { + if o == nil { + return nil + } + return o.UpdatedAt +} + +func (o *GetMetadataMetadata) GetAudienceRatingImage() *string { + if o == nil { + return nil + } + return o.AudienceRatingImage +} + +func (o *GetMetadataMetadata) GetHasPremiumPrimaryExtra() *string { + if o == nil { + return nil + } + return o.HasPremiumPrimaryExtra +} + +func (o *GetMetadataMetadata) GetRatingImage() *string { + if o == nil { + return nil + } + return o.RatingImage +} + +func (o *GetMetadataMetadata) GetMedia() []GetMetadataMedia { + if o == nil { + return nil + } + return o.Media +} + +func (o *GetMetadataMetadata) GetGenre() []GetMetadataGenre { + if o == nil { + return nil + } + return o.Genre +} + +func (o *GetMetadataMetadata) GetCountry() []GetMetadataCountry { + if o == nil { + return nil + } + return o.Country +} + +func (o *GetMetadataMetadata) GetGuids() []Guids { + if o == nil { + return nil + } + return o.Guids +} + +func (o *GetMetadataMetadata) GetRatings() []Ratings { + if o == nil { + return nil + } + return o.Ratings +} + +func (o *GetMetadataMetadata) GetDirector() []GetMetadataDirector { + if o == nil { + return nil + } + return o.Director +} + +func (o *GetMetadataMetadata) GetWriter() []GetMetadataWriter { + if o == nil { + return nil + } + return o.Writer +} + +func (o *GetMetadataMetadata) GetRole() []GetMetadataRole { + if o == nil { + return nil + } + return o.Role +} + +func (o *GetMetadataMetadata) GetProducer() []Producer { + if o == nil { + return nil + } + return o.Producer +} + +type GetMetadataMediaContainer struct { + Size *int `json:"size,omitempty"` + AllowSync *bool `json:"allowSync,omitempty"` + Identifier *string `json:"identifier,omitempty"` + LibrarySectionID *int `json:"librarySectionID,omitempty"` + LibrarySectionTitle *string `json:"librarySectionTitle,omitempty"` + LibrarySectionUUID *string `json:"librarySectionUUID,omitempty"` + MediaTagPrefix *string `json:"mediaTagPrefix,omitempty"` + MediaTagVersion *int `json:"mediaTagVersion,omitempty"` + Metadata []GetMetadataMetadata `json:"Metadata,omitempty"` +} + +func (o *GetMetadataMediaContainer) GetSize() *int { + if o == nil { + return nil + } + return o.Size +} + +func (o *GetMetadataMediaContainer) GetAllowSync() *bool { + if o == nil { + return nil + } + return o.AllowSync +} + +func (o *GetMetadataMediaContainer) GetIdentifier() *string { + if o == nil { + return nil + } + return o.Identifier +} + +func (o *GetMetadataMediaContainer) GetLibrarySectionID() *int { + if o == nil { + return nil + } + return o.LibrarySectionID +} + +func (o *GetMetadataMediaContainer) GetLibrarySectionTitle() *string { + if o == nil { + return nil + } + return o.LibrarySectionTitle +} + +func (o *GetMetadataMediaContainer) GetLibrarySectionUUID() *string { + if o == nil { + return nil + } + return o.LibrarySectionUUID +} + +func (o *GetMetadataMediaContainer) GetMediaTagPrefix() *string { + if o == nil { + return nil + } + return o.MediaTagPrefix +} + +func (o *GetMetadataMediaContainer) GetMediaTagVersion() *int { + if o == nil { + return nil + } + return o.MediaTagVersion +} + +func (o *GetMetadataMediaContainer) GetMetadata() []GetMetadataMetadata { + if o == nil { + return nil + } + return o.Metadata +} + +// GetMetadataResponseBody - The metadata of the library item. +type GetMetadataResponseBody struct { + MediaContainer *GetMetadataMediaContainer `json:"MediaContainer,omitempty"` +} + +func (o *GetMetadataResponseBody) GetMediaContainer() *GetMetadataMediaContainer { + if o == nil { + return nil + } + return o.MediaContainer +} + type GetMetadataResponse struct { // HTTP response content type for this operation ContentType string @@ -25,6 +1153,8 @@ type GetMetadataResponse struct { StatusCode int // Raw HTTP response; suitable for custom response parsing RawResponse *http.Response + // The metadata of the library item. + Object *GetMetadataResponseBody } func (o *GetMetadataResponse) GetContentType() string { @@ -47,3 +1177,10 @@ func (o *GetMetadataResponse) GetRawResponse() *http.Response { } return o.RawResponse } + +func (o *GetMetadataResponse) GetObject() *GetMetadataResponseBody { + if o == nil { + return nil + } + return o.Object +} diff --git a/models/operations/getmetadatachildren.go b/models/operations/getmetadatachildren.go index be76aa3..6b94c18 100644 --- a/models/operations/getmetadatachildren.go +++ b/models/operations/getmetadatachildren.go @@ -18,6 +18,467 @@ func (o *GetMetadataChildrenRequest) GetRatingKey() float64 { return o.RatingKey } +type GetMetadataChildrenDirectory struct { + LeafCount *int `json:"leafCount,omitempty"` + Thumb *string `json:"thumb,omitempty"` + ViewedLeafCount *int `json:"viewedLeafCount,omitempty"` + Key *string `json:"key,omitempty"` + Title *string `json:"title,omitempty"` +} + +func (o *GetMetadataChildrenDirectory) GetLeafCount() *int { + if o == nil { + return nil + } + return o.LeafCount +} + +func (o *GetMetadataChildrenDirectory) GetThumb() *string { + if o == nil { + return nil + } + return o.Thumb +} + +func (o *GetMetadataChildrenDirectory) GetViewedLeafCount() *int { + if o == nil { + return nil + } + return o.ViewedLeafCount +} + +func (o *GetMetadataChildrenDirectory) GetKey() *string { + if o == nil { + return nil + } + return o.Key +} + +func (o *GetMetadataChildrenDirectory) GetTitle() *string { + if o == nil { + return nil + } + return o.Title +} + +type GetMetadataChildrenMetadata struct { + RatingKey *string `json:"ratingKey,omitempty"` + Key *string `json:"key,omitempty"` + ParentRatingKey *string `json:"parentRatingKey,omitempty"` + GUID *string `json:"guid,omitempty"` + ParentGUID *string `json:"parentGuid,omitempty"` + ParentStudio *string `json:"parentStudio,omitempty"` + Type *string `json:"type,omitempty"` + Title *string `json:"title,omitempty"` + ParentKey *string `json:"parentKey,omitempty"` + ParentTitle *string `json:"parentTitle,omitempty"` + Summary *string `json:"summary,omitempty"` + Index *int `json:"index,omitempty"` + ParentIndex *int `json:"parentIndex,omitempty"` + ViewCount *int `json:"viewCount,omitempty"` + LastViewedAt *int `json:"lastViewedAt,omitempty"` + ParentYear *int `json:"parentYear,omitempty"` + Thumb *string `json:"thumb,omitempty"` + Art *string `json:"art,omitempty"` + ParentThumb *string `json:"parentThumb,omitempty"` + ParentTheme *string `json:"parentTheme,omitempty"` + LeafCount *int `json:"leafCount,omitempty"` + ViewedLeafCount *int `json:"viewedLeafCount,omitempty"` + AddedAt *int `json:"addedAt,omitempty"` + UpdatedAt *int `json:"updatedAt,omitempty"` + UserRating *int `json:"userRating,omitempty"` + SkipCount *int `json:"skipCount,omitempty"` + LastRatedAt *int `json:"lastRatedAt,omitempty"` +} + +func (o *GetMetadataChildrenMetadata) GetRatingKey() *string { + if o == nil { + return nil + } + return o.RatingKey +} + +func (o *GetMetadataChildrenMetadata) GetKey() *string { + if o == nil { + return nil + } + return o.Key +} + +func (o *GetMetadataChildrenMetadata) GetParentRatingKey() *string { + if o == nil { + return nil + } + return o.ParentRatingKey +} + +func (o *GetMetadataChildrenMetadata) GetGUID() *string { + if o == nil { + return nil + } + return o.GUID +} + +func (o *GetMetadataChildrenMetadata) GetParentGUID() *string { + if o == nil { + return nil + } + return o.ParentGUID +} + +func (o *GetMetadataChildrenMetadata) GetParentStudio() *string { + if o == nil { + return nil + } + return o.ParentStudio +} + +func (o *GetMetadataChildrenMetadata) GetType() *string { + if o == nil { + return nil + } + return o.Type +} + +func (o *GetMetadataChildrenMetadata) GetTitle() *string { + if o == nil { + return nil + } + return o.Title +} + +func (o *GetMetadataChildrenMetadata) GetParentKey() *string { + if o == nil { + return nil + } + return o.ParentKey +} + +func (o *GetMetadataChildrenMetadata) GetParentTitle() *string { + if o == nil { + return nil + } + return o.ParentTitle +} + +func (o *GetMetadataChildrenMetadata) GetSummary() *string { + if o == nil { + return nil + } + return o.Summary +} + +func (o *GetMetadataChildrenMetadata) GetIndex() *int { + if o == nil { + return nil + } + return o.Index +} + +func (o *GetMetadataChildrenMetadata) GetParentIndex() *int { + if o == nil { + return nil + } + return o.ParentIndex +} + +func (o *GetMetadataChildrenMetadata) GetViewCount() *int { + if o == nil { + return nil + } + return o.ViewCount +} + +func (o *GetMetadataChildrenMetadata) GetLastViewedAt() *int { + if o == nil { + return nil + } + return o.LastViewedAt +} + +func (o *GetMetadataChildrenMetadata) GetParentYear() *int { + if o == nil { + return nil + } + return o.ParentYear +} + +func (o *GetMetadataChildrenMetadata) GetThumb() *string { + if o == nil { + return nil + } + return o.Thumb +} + +func (o *GetMetadataChildrenMetadata) GetArt() *string { + if o == nil { + return nil + } + return o.Art +} + +func (o *GetMetadataChildrenMetadata) GetParentThumb() *string { + if o == nil { + return nil + } + return o.ParentThumb +} + +func (o *GetMetadataChildrenMetadata) GetParentTheme() *string { + if o == nil { + return nil + } + return o.ParentTheme +} + +func (o *GetMetadataChildrenMetadata) GetLeafCount() *int { + if o == nil { + return nil + } + return o.LeafCount +} + +func (o *GetMetadataChildrenMetadata) GetViewedLeafCount() *int { + if o == nil { + return nil + } + return o.ViewedLeafCount +} + +func (o *GetMetadataChildrenMetadata) GetAddedAt() *int { + if o == nil { + return nil + } + return o.AddedAt +} + +func (o *GetMetadataChildrenMetadata) GetUpdatedAt() *int { + if o == nil { + return nil + } + return o.UpdatedAt +} + +func (o *GetMetadataChildrenMetadata) GetUserRating() *int { + if o == nil { + return nil + } + return o.UserRating +} + +func (o *GetMetadataChildrenMetadata) GetSkipCount() *int { + if o == nil { + return nil + } + return o.SkipCount +} + +func (o *GetMetadataChildrenMetadata) GetLastRatedAt() *int { + if o == nil { + return nil + } + return o.LastRatedAt +} + +type GetMetadataChildrenMediaContainer struct { + Size *int `json:"size,omitempty"` + AllowSync *bool `json:"allowSync,omitempty"` + Art *string `json:"art,omitempty"` + Identifier *string `json:"identifier,omitempty"` + Key *string `json:"key,omitempty"` + LibrarySectionID *int `json:"librarySectionID,omitempty"` + LibrarySectionTitle *string `json:"librarySectionTitle,omitempty"` + LibrarySectionUUID *string `json:"librarySectionUUID,omitempty"` + MediaTagPrefix *string `json:"mediaTagPrefix,omitempty"` + MediaTagVersion *int `json:"mediaTagVersion,omitempty"` + Nocache *bool `json:"nocache,omitempty"` + ParentIndex *int `json:"parentIndex,omitempty"` + ParentTitle *string `json:"parentTitle,omitempty"` + ParentYear *int `json:"parentYear,omitempty"` + Summary *string `json:"summary,omitempty"` + Theme *string `json:"theme,omitempty"` + Thumb *string `json:"thumb,omitempty"` + Title1 *string `json:"title1,omitempty"` + Title2 *string `json:"title2,omitempty"` + ViewGroup *string `json:"viewGroup,omitempty"` + ViewMode *int `json:"viewMode,omitempty"` + Directory []GetMetadataChildrenDirectory `json:"Directory,omitempty"` + Metadata []GetMetadataChildrenMetadata `json:"Metadata,omitempty"` +} + +func (o *GetMetadataChildrenMediaContainer) GetSize() *int { + if o == nil { + return nil + } + return o.Size +} + +func (o *GetMetadataChildrenMediaContainer) GetAllowSync() *bool { + if o == nil { + return nil + } + return o.AllowSync +} + +func (o *GetMetadataChildrenMediaContainer) GetArt() *string { + if o == nil { + return nil + } + return o.Art +} + +func (o *GetMetadataChildrenMediaContainer) GetIdentifier() *string { + if o == nil { + return nil + } + return o.Identifier +} + +func (o *GetMetadataChildrenMediaContainer) GetKey() *string { + if o == nil { + return nil + } + return o.Key +} + +func (o *GetMetadataChildrenMediaContainer) GetLibrarySectionID() *int { + if o == nil { + return nil + } + return o.LibrarySectionID +} + +func (o *GetMetadataChildrenMediaContainer) GetLibrarySectionTitle() *string { + if o == nil { + return nil + } + return o.LibrarySectionTitle +} + +func (o *GetMetadataChildrenMediaContainer) GetLibrarySectionUUID() *string { + if o == nil { + return nil + } + return o.LibrarySectionUUID +} + +func (o *GetMetadataChildrenMediaContainer) GetMediaTagPrefix() *string { + if o == nil { + return nil + } + return o.MediaTagPrefix +} + +func (o *GetMetadataChildrenMediaContainer) GetMediaTagVersion() *int { + if o == nil { + return nil + } + return o.MediaTagVersion +} + +func (o *GetMetadataChildrenMediaContainer) GetNocache() *bool { + if o == nil { + return nil + } + return o.Nocache +} + +func (o *GetMetadataChildrenMediaContainer) GetParentIndex() *int { + if o == nil { + return nil + } + return o.ParentIndex +} + +func (o *GetMetadataChildrenMediaContainer) GetParentTitle() *string { + if o == nil { + return nil + } + return o.ParentTitle +} + +func (o *GetMetadataChildrenMediaContainer) GetParentYear() *int { + if o == nil { + return nil + } + return o.ParentYear +} + +func (o *GetMetadataChildrenMediaContainer) GetSummary() *string { + if o == nil { + return nil + } + return o.Summary +} + +func (o *GetMetadataChildrenMediaContainer) GetTheme() *string { + if o == nil { + return nil + } + return o.Theme +} + +func (o *GetMetadataChildrenMediaContainer) GetThumb() *string { + if o == nil { + return nil + } + return o.Thumb +} + +func (o *GetMetadataChildrenMediaContainer) GetTitle1() *string { + if o == nil { + return nil + } + return o.Title1 +} + +func (o *GetMetadataChildrenMediaContainer) GetTitle2() *string { + if o == nil { + return nil + } + return o.Title2 +} + +func (o *GetMetadataChildrenMediaContainer) GetViewGroup() *string { + if o == nil { + return nil + } + return o.ViewGroup +} + +func (o *GetMetadataChildrenMediaContainer) GetViewMode() *int { + if o == nil { + return nil + } + return o.ViewMode +} + +func (o *GetMetadataChildrenMediaContainer) GetDirectory() []GetMetadataChildrenDirectory { + if o == nil { + return nil + } + return o.Directory +} + +func (o *GetMetadataChildrenMediaContainer) GetMetadata() []GetMetadataChildrenMetadata { + if o == nil { + return nil + } + return o.Metadata +} + +// GetMetadataChildrenResponseBody - The children of the library item. +type GetMetadataChildrenResponseBody struct { + MediaContainer *GetMetadataChildrenMediaContainer `json:"MediaContainer,omitempty"` +} + +func (o *GetMetadataChildrenResponseBody) GetMediaContainer() *GetMetadataChildrenMediaContainer { + if o == nil { + return nil + } + return o.MediaContainer +} + type GetMetadataChildrenResponse struct { // HTTP response content type for this operation ContentType string @@ -25,6 +486,8 @@ type GetMetadataChildrenResponse struct { StatusCode int // Raw HTTP response; suitable for custom response parsing RawResponse *http.Response + // The children of the library item. + Object *GetMetadataChildrenResponseBody } func (o *GetMetadataChildrenResponse) GetContentType() string { @@ -47,3 +510,10 @@ func (o *GetMetadataChildrenResponse) GetRawResponse() *http.Response { } return o.RawResponse } + +func (o *GetMetadataChildrenResponse) GetObject() *GetMetadataChildrenResponseBody { + if o == nil { + return nil + } + return o.Object +} diff --git a/models/operations/getondeck.go b/models/operations/getondeck.go index 05854a1..adfe70f 100644 --- a/models/operations/getondeck.go +++ b/models/operations/getondeck.go @@ -8,7 +8,7 @@ import ( "time" ) -type Stream struct { +type GetOnDeckStream struct { ID *float64 `json:"id,omitempty"` StreamType *float64 `json:"streamType,omitempty"` Default *bool `json:"default,omitempty"` @@ -34,161 +34,161 @@ type Stream struct { ExtendedDisplayTitle *string `json:"extendedDisplayTitle,omitempty"` } -func (o *Stream) GetID() *float64 { +func (o *GetOnDeckStream) GetID() *float64 { if o == nil { return nil } return o.ID } -func (o *Stream) GetStreamType() *float64 { +func (o *GetOnDeckStream) GetStreamType() *float64 { if o == nil { return nil } return o.StreamType } -func (o *Stream) GetDefault() *bool { +func (o *GetOnDeckStream) GetDefault() *bool { if o == nil { return nil } return o.Default } -func (o *Stream) GetCodec() *string { +func (o *GetOnDeckStream) GetCodec() *string { if o == nil { return nil } return o.Codec } -func (o *Stream) GetIndex() *float64 { +func (o *GetOnDeckStream) GetIndex() *float64 { if o == nil { return nil } return o.Index } -func (o *Stream) GetBitrate() *float64 { +func (o *GetOnDeckStream) GetBitrate() *float64 { if o == nil { return nil } return o.Bitrate } -func (o *Stream) GetLanguage() *string { +func (o *GetOnDeckStream) GetLanguage() *string { if o == nil { return nil } return o.Language } -func (o *Stream) GetLanguageTag() *string { +func (o *GetOnDeckStream) GetLanguageTag() *string { if o == nil { return nil } return o.LanguageTag } -func (o *Stream) GetLanguageCode() *string { +func (o *GetOnDeckStream) GetLanguageCode() *string { if o == nil { return nil } return o.LanguageCode } -func (o *Stream) GetBitDepth() *float64 { +func (o *GetOnDeckStream) GetBitDepth() *float64 { if o == nil { return nil } return o.BitDepth } -func (o *Stream) GetChromaLocation() *string { +func (o *GetOnDeckStream) GetChromaLocation() *string { if o == nil { return nil } return o.ChromaLocation } -func (o *Stream) GetChromaSubsampling() *string { +func (o *GetOnDeckStream) GetChromaSubsampling() *string { if o == nil { return nil } return o.ChromaSubsampling } -func (o *Stream) GetCodedHeight() *float64 { +func (o *GetOnDeckStream) GetCodedHeight() *float64 { if o == nil { return nil } return o.CodedHeight } -func (o *Stream) GetCodedWidth() *float64 { +func (o *GetOnDeckStream) GetCodedWidth() *float64 { if o == nil { return nil } return o.CodedWidth } -func (o *Stream) GetColorRange() *string { +func (o *GetOnDeckStream) GetColorRange() *string { if o == nil { return nil } return o.ColorRange } -func (o *Stream) GetFrameRate() *float64 { +func (o *GetOnDeckStream) GetFrameRate() *float64 { if o == nil { return nil } return o.FrameRate } -func (o *Stream) GetHeight() *float64 { +func (o *GetOnDeckStream) GetHeight() *float64 { if o == nil { return nil } return o.Height } -func (o *Stream) GetLevel() *float64 { +func (o *GetOnDeckStream) GetLevel() *float64 { if o == nil { return nil } return o.Level } -func (o *Stream) GetProfile() *string { +func (o *GetOnDeckStream) GetProfile() *string { if o == nil { return nil } return o.Profile } -func (o *Stream) GetRefFrames() *float64 { +func (o *GetOnDeckStream) GetRefFrames() *float64 { if o == nil { return nil } return o.RefFrames } -func (o *Stream) GetWidth() *float64 { +func (o *GetOnDeckStream) GetWidth() *float64 { if o == nil { return nil } return o.Width } -func (o *Stream) GetDisplayTitle() *string { +func (o *GetOnDeckStream) GetDisplayTitle() *string { if o == nil { return nil } return o.DisplayTitle } -func (o *Stream) GetExtendedDisplayTitle() *string { +func (o *GetOnDeckStream) GetExtendedDisplayTitle() *string { if o == nil { return nil } @@ -196,15 +196,15 @@ func (o *Stream) GetExtendedDisplayTitle() *string { } type GetOnDeckPart struct { - ID *float64 `json:"id,omitempty"` - Key *string `json:"key,omitempty"` - Duration *float64 `json:"duration,omitempty"` - File *string `json:"file,omitempty"` - Size *float64 `json:"size,omitempty"` - AudioProfile *string `json:"audioProfile,omitempty"` - Container *string `json:"container,omitempty"` - VideoProfile *string `json:"videoProfile,omitempty"` - Stream []Stream `json:"Stream,omitempty"` + ID *float64 `json:"id,omitempty"` + Key *string `json:"key,omitempty"` + Duration *float64 `json:"duration,omitempty"` + File *string `json:"file,omitempty"` + Size *float64 `json:"size,omitempty"` + AudioProfile *string `json:"audioProfile,omitempty"` + Container *string `json:"container,omitempty"` + VideoProfile *string `json:"videoProfile,omitempty"` + Stream []GetOnDeckStream `json:"Stream,omitempty"` } func (o *GetOnDeckPart) GetID() *float64 { @@ -263,7 +263,7 @@ func (o *GetOnDeckPart) GetVideoProfile() *string { return o.VideoProfile } -func (o *GetOnDeckPart) GetStream() []Stream { +func (o *GetOnDeckPart) GetStream() []GetOnDeckStream { if o == nil { return nil } @@ -393,11 +393,11 @@ func (o *GetOnDeckMedia) GetPart() []GetOnDeckPart { return o.Part } -type Guids struct { +type GetOnDeckGuids struct { ID *string `json:"id,omitempty"` } -func (o *Guids) GetID() *string { +func (o *GetOnDeckGuids) GetID() *string { if o == nil { return nil } @@ -440,7 +440,7 @@ type GetOnDeckMetadata struct { AddedAt *float64 `json:"addedAt,omitempty"` UpdatedAt *float64 `json:"updatedAt,omitempty"` Media []GetOnDeckMedia `json:"Media,omitempty"` - Guids []Guids `json:"Guid,omitempty"` + Guids []GetOnDeckGuids `json:"Guid,omitempty"` } func (g GetOnDeckMetadata) MarshalJSON() ([]byte, error) { @@ -699,7 +699,7 @@ func (o *GetOnDeckMetadata) GetMedia() []GetOnDeckMedia { return o.Media } -func (o *GetOnDeckMetadata) GetGuids() []Guids { +func (o *GetOnDeckMetadata) GetGuids() []GetOnDeckGuids { if o == nil { return nil } diff --git a/models/operations/getplaylist.go b/models/operations/getplaylist.go index b5f2d1a..b7f1e5d 100644 --- a/models/operations/getplaylist.go +++ b/models/operations/getplaylist.go @@ -18,6 +18,160 @@ func (o *GetPlaylistRequest) GetPlaylistID() float64 { return o.PlaylistID } +type GetPlaylistMetadata struct { + Content *string `json:"content,omitempty"` + RatingKey *string `json:"ratingKey,omitempty"` + Key *string `json:"key,omitempty"` + GUID *string `json:"guid,omitempty"` + Type *string `json:"type,omitempty"` + Title *string `json:"title,omitempty"` + Summary *string `json:"summary,omitempty"` + Smart *bool `json:"smart,omitempty"` + PlaylistType *string `json:"playlistType,omitempty"` + Composite *string `json:"composite,omitempty"` + Icon *string `json:"icon,omitempty"` + Duration *int `json:"duration,omitempty"` + LeafCount *int `json:"leafCount,omitempty"` + AddedAt *int `json:"addedAt,omitempty"` + UpdatedAt *int `json:"updatedAt,omitempty"` +} + +func (o *GetPlaylistMetadata) GetContent() *string { + if o == nil { + return nil + } + return o.Content +} + +func (o *GetPlaylistMetadata) GetRatingKey() *string { + if o == nil { + return nil + } + return o.RatingKey +} + +func (o *GetPlaylistMetadata) GetKey() *string { + if o == nil { + return nil + } + return o.Key +} + +func (o *GetPlaylistMetadata) GetGUID() *string { + if o == nil { + return nil + } + return o.GUID +} + +func (o *GetPlaylistMetadata) GetType() *string { + if o == nil { + return nil + } + return o.Type +} + +func (o *GetPlaylistMetadata) GetTitle() *string { + if o == nil { + return nil + } + return o.Title +} + +func (o *GetPlaylistMetadata) GetSummary() *string { + if o == nil { + return nil + } + return o.Summary +} + +func (o *GetPlaylistMetadata) GetSmart() *bool { + if o == nil { + return nil + } + return o.Smart +} + +func (o *GetPlaylistMetadata) GetPlaylistType() *string { + if o == nil { + return nil + } + return o.PlaylistType +} + +func (o *GetPlaylistMetadata) GetComposite() *string { + if o == nil { + return nil + } + return o.Composite +} + +func (o *GetPlaylistMetadata) GetIcon() *string { + if o == nil { + return nil + } + return o.Icon +} + +func (o *GetPlaylistMetadata) GetDuration() *int { + if o == nil { + return nil + } + return o.Duration +} + +func (o *GetPlaylistMetadata) GetLeafCount() *int { + if o == nil { + return nil + } + return o.LeafCount +} + +func (o *GetPlaylistMetadata) GetAddedAt() *int { + if o == nil { + return nil + } + return o.AddedAt +} + +func (o *GetPlaylistMetadata) GetUpdatedAt() *int { + if o == nil { + return nil + } + return o.UpdatedAt +} + +type GetPlaylistMediaContainer struct { + Size *int `json:"size,omitempty"` + Metadata []GetPlaylistMetadata `json:"Metadata,omitempty"` +} + +func (o *GetPlaylistMediaContainer) GetSize() *int { + if o == nil { + return nil + } + return o.Size +} + +func (o *GetPlaylistMediaContainer) GetMetadata() []GetPlaylistMetadata { + if o == nil { + return nil + } + return o.Metadata +} + +// GetPlaylistResponseBody - The playlist +type GetPlaylistResponseBody struct { + MediaContainer *GetPlaylistMediaContainer `json:"MediaContainer,omitempty"` +} + +func (o *GetPlaylistResponseBody) GetMediaContainer() *GetPlaylistMediaContainer { + if o == nil { + return nil + } + return o.MediaContainer +} + type GetPlaylistResponse struct { // HTTP response content type for this operation ContentType string @@ -25,6 +179,8 @@ type GetPlaylistResponse struct { StatusCode int // Raw HTTP response; suitable for custom response parsing RawResponse *http.Response + // The playlist + Object *GetPlaylistResponseBody } func (o *GetPlaylistResponse) GetContentType() string { @@ -47,3 +203,10 @@ func (o *GetPlaylistResponse) GetRawResponse() *http.Response { } return o.RawResponse } + +func (o *GetPlaylistResponse) GetObject() *GetPlaylistResponseBody { + if o == nil { + return nil + } + return o.Object +} diff --git a/models/operations/getplaylistcontents.go b/models/operations/getplaylistcontents.go index b09aaf8..c48b11a 100644 --- a/models/operations/getplaylistcontents.go +++ b/models/operations/getplaylistcontents.go @@ -3,6 +3,8 @@ package operations import ( + "github.com/LukeHagar/plexgo/internal/utils" + "github.com/LukeHagar/plexgo/types" "net/http" ) @@ -27,6 +29,640 @@ func (o *GetPlaylistContentsRequest) GetType() float64 { return o.Type } +type GetPlaylistContentsPart struct { + ID *int `json:"id,omitempty"` + Key *string `json:"key,omitempty"` + Duration *int `json:"duration,omitempty"` + File *string `json:"file,omitempty"` + Size *int `json:"size,omitempty"` + AudioProfile *string `json:"audioProfile,omitempty"` + Container *string `json:"container,omitempty"` + Has64bitOffsets *bool `json:"has64bitOffsets,omitempty"` + OptimizedForStreaming *bool `json:"optimizedForStreaming,omitempty"` + VideoProfile *string `json:"videoProfile,omitempty"` +} + +func (o *GetPlaylistContentsPart) GetID() *int { + if o == nil { + return nil + } + return o.ID +} + +func (o *GetPlaylistContentsPart) GetKey() *string { + if o == nil { + return nil + } + return o.Key +} + +func (o *GetPlaylistContentsPart) GetDuration() *int { + if o == nil { + return nil + } + return o.Duration +} + +func (o *GetPlaylistContentsPart) GetFile() *string { + if o == nil { + return nil + } + return o.File +} + +func (o *GetPlaylistContentsPart) GetSize() *int { + if o == nil { + return nil + } + return o.Size +} + +func (o *GetPlaylistContentsPart) GetAudioProfile() *string { + if o == nil { + return nil + } + return o.AudioProfile +} + +func (o *GetPlaylistContentsPart) GetContainer() *string { + if o == nil { + return nil + } + return o.Container +} + +func (o *GetPlaylistContentsPart) GetHas64bitOffsets() *bool { + if o == nil { + return nil + } + return o.Has64bitOffsets +} + +func (o *GetPlaylistContentsPart) GetOptimizedForStreaming() *bool { + if o == nil { + return nil + } + return o.OptimizedForStreaming +} + +func (o *GetPlaylistContentsPart) GetVideoProfile() *string { + if o == nil { + return nil + } + return o.VideoProfile +} + +type GetPlaylistContentsMedia struct { + ID *int `json:"id,omitempty"` + Duration *int `json:"duration,omitempty"` + Bitrate *int `json:"bitrate,omitempty"` + Width *int `json:"width,omitempty"` + Height *int `json:"height,omitempty"` + AspectRatio *float64 `json:"aspectRatio,omitempty"` + AudioChannels *int `json:"audioChannels,omitempty"` + AudioCodec *string `json:"audioCodec,omitempty"` + VideoCodec *string `json:"videoCodec,omitempty"` + VideoResolution *string `json:"videoResolution,omitempty"` + Container *string `json:"container,omitempty"` + VideoFrameRate *string `json:"videoFrameRate,omitempty"` + OptimizedForStreaming *int `json:"optimizedForStreaming,omitempty"` + AudioProfile *string `json:"audioProfile,omitempty"` + Has64bitOffsets *bool `json:"has64bitOffsets,omitempty"` + VideoProfile *string `json:"videoProfile,omitempty"` + Part []GetPlaylistContentsPart `json:"Part,omitempty"` +} + +func (o *GetPlaylistContentsMedia) GetID() *int { + if o == nil { + return nil + } + return o.ID +} + +func (o *GetPlaylistContentsMedia) GetDuration() *int { + if o == nil { + return nil + } + return o.Duration +} + +func (o *GetPlaylistContentsMedia) GetBitrate() *int { + if o == nil { + return nil + } + return o.Bitrate +} + +func (o *GetPlaylistContentsMedia) GetWidth() *int { + if o == nil { + return nil + } + return o.Width +} + +func (o *GetPlaylistContentsMedia) GetHeight() *int { + if o == nil { + return nil + } + return o.Height +} + +func (o *GetPlaylistContentsMedia) GetAspectRatio() *float64 { + if o == nil { + return nil + } + return o.AspectRatio +} + +func (o *GetPlaylistContentsMedia) GetAudioChannels() *int { + if o == nil { + return nil + } + return o.AudioChannels +} + +func (o *GetPlaylistContentsMedia) GetAudioCodec() *string { + if o == nil { + return nil + } + return o.AudioCodec +} + +func (o *GetPlaylistContentsMedia) GetVideoCodec() *string { + if o == nil { + return nil + } + return o.VideoCodec +} + +func (o *GetPlaylistContentsMedia) GetVideoResolution() *string { + if o == nil { + return nil + } + return o.VideoResolution +} + +func (o *GetPlaylistContentsMedia) GetContainer() *string { + if o == nil { + return nil + } + return o.Container +} + +func (o *GetPlaylistContentsMedia) GetVideoFrameRate() *string { + if o == nil { + return nil + } + return o.VideoFrameRate +} + +func (o *GetPlaylistContentsMedia) GetOptimizedForStreaming() *int { + if o == nil { + return nil + } + return o.OptimizedForStreaming +} + +func (o *GetPlaylistContentsMedia) GetAudioProfile() *string { + if o == nil { + return nil + } + return o.AudioProfile +} + +func (o *GetPlaylistContentsMedia) GetHas64bitOffsets() *bool { + if o == nil { + return nil + } + return o.Has64bitOffsets +} + +func (o *GetPlaylistContentsMedia) GetVideoProfile() *string { + if o == nil { + return nil + } + return o.VideoProfile +} + +func (o *GetPlaylistContentsMedia) GetPart() []GetPlaylistContentsPart { + if o == nil { + return nil + } + return o.Part +} + +type GetPlaylistContentsGenre struct { + Tag *string `json:"tag,omitempty"` +} + +func (o *GetPlaylistContentsGenre) GetTag() *string { + if o == nil { + return nil + } + return o.Tag +} + +type GetPlaylistContentsCountry struct { + Tag *string `json:"tag,omitempty"` +} + +func (o *GetPlaylistContentsCountry) GetTag() *string { + if o == nil { + return nil + } + return o.Tag +} + +type GetPlaylistContentsDirector struct { + Tag *string `json:"tag,omitempty"` +} + +func (o *GetPlaylistContentsDirector) GetTag() *string { + if o == nil { + return nil + } + return o.Tag +} + +type GetPlaylistContentsWriter struct { + Tag *string `json:"tag,omitempty"` +} + +func (o *GetPlaylistContentsWriter) GetTag() *string { + if o == nil { + return nil + } + return o.Tag +} + +type GetPlaylistContentsRole struct { + Tag *string `json:"tag,omitempty"` +} + +func (o *GetPlaylistContentsRole) GetTag() *string { + if o == nil { + return nil + } + return o.Tag +} + +type GetPlaylistContentsMetadata struct { + RatingKey *string `json:"ratingKey,omitempty"` + Key *string `json:"key,omitempty"` + GUID *string `json:"guid,omitempty"` + Studio *string `json:"studio,omitempty"` + Type *string `json:"type,omitempty"` + Title *string `json:"title,omitempty"` + TitleSort *string `json:"titleSort,omitempty"` + LibrarySectionTitle *string `json:"librarySectionTitle,omitempty"` + LibrarySectionID *int `json:"librarySectionID,omitempty"` + LibrarySectionKey *string `json:"librarySectionKey,omitempty"` + ContentRating *string `json:"contentRating,omitempty"` + Summary *string `json:"summary,omitempty"` + Rating *float64 `json:"rating,omitempty"` + AudienceRating *float64 `json:"audienceRating,omitempty"` + Year *int `json:"year,omitempty"` + Tagline *string `json:"tagline,omitempty"` + Thumb *string `json:"thumb,omitempty"` + Art *string `json:"art,omitempty"` + Duration *int `json:"duration,omitempty"` + OriginallyAvailableAt *types.Date `json:"originallyAvailableAt,omitempty"` + AddedAt *int `json:"addedAt,omitempty"` + UpdatedAt *int `json:"updatedAt,omitempty"` + AudienceRatingImage *string `json:"audienceRatingImage,omitempty"` + HasPremiumExtras *string `json:"hasPremiumExtras,omitempty"` + HasPremiumPrimaryExtra *string `json:"hasPremiumPrimaryExtra,omitempty"` + RatingImage *string `json:"ratingImage,omitempty"` + Media []GetPlaylistContentsMedia `json:"Media,omitempty"` + Genre []GetPlaylistContentsGenre `json:"Genre,omitempty"` + Country []GetPlaylistContentsCountry `json:"Country,omitempty"` + Director []GetPlaylistContentsDirector `json:"Director,omitempty"` + Writer []GetPlaylistContentsWriter `json:"Writer,omitempty"` + Role []GetPlaylistContentsRole `json:"Role,omitempty"` +} + +func (g GetPlaylistContentsMetadata) MarshalJSON() ([]byte, error) { + return utils.MarshalJSON(g, "", false) +} + +func (g *GetPlaylistContentsMetadata) UnmarshalJSON(data []byte) error { + if err := utils.UnmarshalJSON(data, &g, "", false, false); err != nil { + return err + } + return nil +} + +func (o *GetPlaylistContentsMetadata) GetRatingKey() *string { + if o == nil { + return nil + } + return o.RatingKey +} + +func (o *GetPlaylistContentsMetadata) GetKey() *string { + if o == nil { + return nil + } + return o.Key +} + +func (o *GetPlaylistContentsMetadata) GetGUID() *string { + if o == nil { + return nil + } + return o.GUID +} + +func (o *GetPlaylistContentsMetadata) GetStudio() *string { + if o == nil { + return nil + } + return o.Studio +} + +func (o *GetPlaylistContentsMetadata) GetType() *string { + if o == nil { + return nil + } + return o.Type +} + +func (o *GetPlaylistContentsMetadata) GetTitle() *string { + if o == nil { + return nil + } + return o.Title +} + +func (o *GetPlaylistContentsMetadata) GetTitleSort() *string { + if o == nil { + return nil + } + return o.TitleSort +} + +func (o *GetPlaylistContentsMetadata) GetLibrarySectionTitle() *string { + if o == nil { + return nil + } + return o.LibrarySectionTitle +} + +func (o *GetPlaylistContentsMetadata) GetLibrarySectionID() *int { + if o == nil { + return nil + } + return o.LibrarySectionID +} + +func (o *GetPlaylistContentsMetadata) GetLibrarySectionKey() *string { + if o == nil { + return nil + } + return o.LibrarySectionKey +} + +func (o *GetPlaylistContentsMetadata) GetContentRating() *string { + if o == nil { + return nil + } + return o.ContentRating +} + +func (o *GetPlaylistContentsMetadata) GetSummary() *string { + if o == nil { + return nil + } + return o.Summary +} + +func (o *GetPlaylistContentsMetadata) GetRating() *float64 { + if o == nil { + return nil + } + return o.Rating +} + +func (o *GetPlaylistContentsMetadata) GetAudienceRating() *float64 { + if o == nil { + return nil + } + return o.AudienceRating +} + +func (o *GetPlaylistContentsMetadata) GetYear() *int { + if o == nil { + return nil + } + return o.Year +} + +func (o *GetPlaylistContentsMetadata) GetTagline() *string { + if o == nil { + return nil + } + return o.Tagline +} + +func (o *GetPlaylistContentsMetadata) GetThumb() *string { + if o == nil { + return nil + } + return o.Thumb +} + +func (o *GetPlaylistContentsMetadata) GetArt() *string { + if o == nil { + return nil + } + return o.Art +} + +func (o *GetPlaylistContentsMetadata) GetDuration() *int { + if o == nil { + return nil + } + return o.Duration +} + +func (o *GetPlaylistContentsMetadata) GetOriginallyAvailableAt() *types.Date { + if o == nil { + return nil + } + return o.OriginallyAvailableAt +} + +func (o *GetPlaylistContentsMetadata) GetAddedAt() *int { + if o == nil { + return nil + } + return o.AddedAt +} + +func (o *GetPlaylistContentsMetadata) GetUpdatedAt() *int { + if o == nil { + return nil + } + return o.UpdatedAt +} + +func (o *GetPlaylistContentsMetadata) GetAudienceRatingImage() *string { + if o == nil { + return nil + } + return o.AudienceRatingImage +} + +func (o *GetPlaylistContentsMetadata) GetHasPremiumExtras() *string { + if o == nil { + return nil + } + return o.HasPremiumExtras +} + +func (o *GetPlaylistContentsMetadata) GetHasPremiumPrimaryExtra() *string { + if o == nil { + return nil + } + return o.HasPremiumPrimaryExtra +} + +func (o *GetPlaylistContentsMetadata) GetRatingImage() *string { + if o == nil { + return nil + } + return o.RatingImage +} + +func (o *GetPlaylistContentsMetadata) GetMedia() []GetPlaylistContentsMedia { + if o == nil { + return nil + } + return o.Media +} + +func (o *GetPlaylistContentsMetadata) GetGenre() []GetPlaylistContentsGenre { + if o == nil { + return nil + } + return o.Genre +} + +func (o *GetPlaylistContentsMetadata) GetCountry() []GetPlaylistContentsCountry { + if o == nil { + return nil + } + return o.Country +} + +func (o *GetPlaylistContentsMetadata) GetDirector() []GetPlaylistContentsDirector { + if o == nil { + return nil + } + return o.Director +} + +func (o *GetPlaylistContentsMetadata) GetWriter() []GetPlaylistContentsWriter { + if o == nil { + return nil + } + return o.Writer +} + +func (o *GetPlaylistContentsMetadata) GetRole() []GetPlaylistContentsRole { + if o == nil { + return nil + } + return o.Role +} + +type GetPlaylistContentsMediaContainer struct { + Size *int `json:"size,omitempty"` + Composite *string `json:"composite,omitempty"` + Duration *int `json:"duration,omitempty"` + LeafCount *int `json:"leafCount,omitempty"` + PlaylistType *string `json:"playlistType,omitempty"` + RatingKey *string `json:"ratingKey,omitempty"` + Smart *bool `json:"smart,omitempty"` + Title *string `json:"title,omitempty"` + Metadata []GetPlaylistContentsMetadata `json:"Metadata,omitempty"` +} + +func (o *GetPlaylistContentsMediaContainer) GetSize() *int { + if o == nil { + return nil + } + return o.Size +} + +func (o *GetPlaylistContentsMediaContainer) GetComposite() *string { + if o == nil { + return nil + } + return o.Composite +} + +func (o *GetPlaylistContentsMediaContainer) GetDuration() *int { + if o == nil { + return nil + } + return o.Duration +} + +func (o *GetPlaylistContentsMediaContainer) GetLeafCount() *int { + if o == nil { + return nil + } + return o.LeafCount +} + +func (o *GetPlaylistContentsMediaContainer) GetPlaylistType() *string { + if o == nil { + return nil + } + return o.PlaylistType +} + +func (o *GetPlaylistContentsMediaContainer) GetRatingKey() *string { + if o == nil { + return nil + } + return o.RatingKey +} + +func (o *GetPlaylistContentsMediaContainer) GetSmart() *bool { + if o == nil { + return nil + } + return o.Smart +} + +func (o *GetPlaylistContentsMediaContainer) GetTitle() *string { + if o == nil { + return nil + } + return o.Title +} + +func (o *GetPlaylistContentsMediaContainer) GetMetadata() []GetPlaylistContentsMetadata { + if o == nil { + return nil + } + return o.Metadata +} + +// GetPlaylistContentsResponseBody - The playlist contents +type GetPlaylistContentsResponseBody struct { + MediaContainer *GetPlaylistContentsMediaContainer `json:"MediaContainer,omitempty"` +} + +func (o *GetPlaylistContentsResponseBody) GetMediaContainer() *GetPlaylistContentsMediaContainer { + if o == nil { + return nil + } + return o.MediaContainer +} + type GetPlaylistContentsResponse struct { // HTTP response content type for this operation ContentType string @@ -34,6 +670,8 @@ type GetPlaylistContentsResponse struct { StatusCode int // Raw HTTP response; suitable for custom response parsing RawResponse *http.Response + // The playlist contents + Object *GetPlaylistContentsResponseBody } func (o *GetPlaylistContentsResponse) GetContentType() string { @@ -56,3 +694,10 @@ func (o *GetPlaylistContentsResponse) GetRawResponse() *http.Response { } return o.RawResponse } + +func (o *GetPlaylistContentsResponse) GetObject() *GetPlaylistContentsResponseBody { + if o == nil { + return nil + } + return o.Object +} diff --git a/models/operations/getplaylists.go b/models/operations/getplaylists.go index df00c02..a997981 100644 --- a/models/operations/getplaylists.go +++ b/models/operations/getplaylists.go @@ -88,6 +88,168 @@ func (o *GetPlaylistsRequest) GetSmart() *QueryParamSmart { return o.Smart } +type GetPlaylistsMetadata struct { + RatingKey *string `json:"ratingKey,omitempty"` + Key *string `json:"key,omitempty"` + GUID *string `json:"guid,omitempty"` + Type *string `json:"type,omitempty"` + Title *string `json:"title,omitempty"` + Summary *string `json:"summary,omitempty"` + Smart *bool `json:"smart,omitempty"` + PlaylistType *string `json:"playlistType,omitempty"` + Composite *string `json:"composite,omitempty"` + Icon *string `json:"icon,omitempty"` + ViewCount *int `json:"viewCount,omitempty"` + LastViewedAt *int `json:"lastViewedAt,omitempty"` + Duration *int `json:"duration,omitempty"` + LeafCount *int `json:"leafCount,omitempty"` + AddedAt *int `json:"addedAt,omitempty"` + UpdatedAt *int `json:"updatedAt,omitempty"` +} + +func (o *GetPlaylistsMetadata) GetRatingKey() *string { + if o == nil { + return nil + } + return o.RatingKey +} + +func (o *GetPlaylistsMetadata) GetKey() *string { + if o == nil { + return nil + } + return o.Key +} + +func (o *GetPlaylistsMetadata) GetGUID() *string { + if o == nil { + return nil + } + return o.GUID +} + +func (o *GetPlaylistsMetadata) GetType() *string { + if o == nil { + return nil + } + return o.Type +} + +func (o *GetPlaylistsMetadata) GetTitle() *string { + if o == nil { + return nil + } + return o.Title +} + +func (o *GetPlaylistsMetadata) GetSummary() *string { + if o == nil { + return nil + } + return o.Summary +} + +func (o *GetPlaylistsMetadata) GetSmart() *bool { + if o == nil { + return nil + } + return o.Smart +} + +func (o *GetPlaylistsMetadata) GetPlaylistType() *string { + if o == nil { + return nil + } + return o.PlaylistType +} + +func (o *GetPlaylistsMetadata) GetComposite() *string { + if o == nil { + return nil + } + return o.Composite +} + +func (o *GetPlaylistsMetadata) GetIcon() *string { + if o == nil { + return nil + } + return o.Icon +} + +func (o *GetPlaylistsMetadata) GetViewCount() *int { + if o == nil { + return nil + } + return o.ViewCount +} + +func (o *GetPlaylistsMetadata) GetLastViewedAt() *int { + if o == nil { + return nil + } + return o.LastViewedAt +} + +func (o *GetPlaylistsMetadata) GetDuration() *int { + if o == nil { + return nil + } + return o.Duration +} + +func (o *GetPlaylistsMetadata) GetLeafCount() *int { + if o == nil { + return nil + } + return o.LeafCount +} + +func (o *GetPlaylistsMetadata) GetAddedAt() *int { + if o == nil { + return nil + } + return o.AddedAt +} + +func (o *GetPlaylistsMetadata) GetUpdatedAt() *int { + if o == nil { + return nil + } + return o.UpdatedAt +} + +type GetPlaylistsMediaContainer struct { + Size *int `json:"size,omitempty"` + Metadata []GetPlaylistsMetadata `json:"Metadata,omitempty"` +} + +func (o *GetPlaylistsMediaContainer) GetSize() *int { + if o == nil { + return nil + } + return o.Size +} + +func (o *GetPlaylistsMediaContainer) GetMetadata() []GetPlaylistsMetadata { + if o == nil { + return nil + } + return o.Metadata +} + +// GetPlaylistsResponseBody - returns all playlists +type GetPlaylistsResponseBody struct { + MediaContainer *GetPlaylistsMediaContainer `json:"MediaContainer,omitempty"` +} + +func (o *GetPlaylistsResponseBody) GetMediaContainer() *GetPlaylistsMediaContainer { + if o == nil { + return nil + } + return o.MediaContainer +} + type GetPlaylistsResponse struct { // HTTP response content type for this operation ContentType string @@ -95,6 +257,8 @@ type GetPlaylistsResponse struct { StatusCode int // Raw HTTP response; suitable for custom response parsing RawResponse *http.Response + // returns all playlists + Object *GetPlaylistsResponseBody } func (o *GetPlaylistsResponse) GetContentType() string { @@ -117,3 +281,10 @@ func (o *GetPlaylistsResponse) GetRawResponse() *http.Response { } return o.RawResponse } + +func (o *GetPlaylistsResponse) GetObject() *GetPlaylistsResponseBody { + if o == nil { + return nil + } + return o.Object +} diff --git a/models/operations/getserveridentity.go b/models/operations/getserveridentity.go index 76549ae..cb9475b 100644 --- a/models/operations/getserveridentity.go +++ b/models/operations/getserveridentity.go @@ -41,7 +41,7 @@ func (o *GetServerIdentityMediaContainer) GetVersion() *string { return o.Version } -// GetServerIdentityResponseBody - The Transcode Sessions +// GetServerIdentityResponseBody - The Server Identity information type GetServerIdentityResponseBody struct { MediaContainer *GetServerIdentityMediaContainer `json:"MediaContainer,omitempty"` } @@ -60,7 +60,7 @@ type GetServerIdentityResponse struct { StatusCode int // Raw HTTP response; suitable for custom response parsing RawResponse *http.Response - // The Transcode Sessions + // The Server Identity information Object *GetServerIdentityResponseBody } diff --git a/models/operations/getsessionhistory.go b/models/operations/getsessionhistory.go index cda8fd1..4e9debc 100644 --- a/models/operations/getsessionhistory.go +++ b/models/operations/getsessionhistory.go @@ -3,9 +3,208 @@ package operations import ( + "github.com/LukeHagar/plexgo/internal/utils" + "github.com/LukeHagar/plexgo/types" "net/http" ) +type GetSessionHistoryMetadata struct { + HistoryKey *string `json:"historyKey,omitempty"` + Key *string `json:"key,omitempty"` + RatingKey *string `json:"ratingKey,omitempty"` + LibrarySectionID *string `json:"librarySectionID,omitempty"` + ParentKey *string `json:"parentKey,omitempty"` + GrandparentKey *string `json:"grandparentKey,omitempty"` + Title *string `json:"title,omitempty"` + GrandparentTitle *string `json:"grandparentTitle,omitempty"` + Type *string `json:"type,omitempty"` + Thumb *string `json:"thumb,omitempty"` + ParentThumb *string `json:"parentThumb,omitempty"` + GrandparentThumb *string `json:"grandparentThumb,omitempty"` + GrandparentArt *string `json:"grandparentArt,omitempty"` + Index *int `json:"index,omitempty"` + ParentIndex *int `json:"parentIndex,omitempty"` + OriginallyAvailableAt *types.Date `json:"originallyAvailableAt,omitempty"` + ViewedAt *int `json:"viewedAt,omitempty"` + AccountID *int `json:"accountID,omitempty"` + DeviceID *int `json:"deviceID,omitempty"` +} + +func (g GetSessionHistoryMetadata) MarshalJSON() ([]byte, error) { + return utils.MarshalJSON(g, "", false) +} + +func (g *GetSessionHistoryMetadata) UnmarshalJSON(data []byte) error { + if err := utils.UnmarshalJSON(data, &g, "", false, false); err != nil { + return err + } + return nil +} + +func (o *GetSessionHistoryMetadata) GetHistoryKey() *string { + if o == nil { + return nil + } + return o.HistoryKey +} + +func (o *GetSessionHistoryMetadata) GetKey() *string { + if o == nil { + return nil + } + return o.Key +} + +func (o *GetSessionHistoryMetadata) GetRatingKey() *string { + if o == nil { + return nil + } + return o.RatingKey +} + +func (o *GetSessionHistoryMetadata) GetLibrarySectionID() *string { + if o == nil { + return nil + } + return o.LibrarySectionID +} + +func (o *GetSessionHistoryMetadata) GetParentKey() *string { + if o == nil { + return nil + } + return o.ParentKey +} + +func (o *GetSessionHistoryMetadata) GetGrandparentKey() *string { + if o == nil { + return nil + } + return o.GrandparentKey +} + +func (o *GetSessionHistoryMetadata) GetTitle() *string { + if o == nil { + return nil + } + return o.Title +} + +func (o *GetSessionHistoryMetadata) GetGrandparentTitle() *string { + if o == nil { + return nil + } + return o.GrandparentTitle +} + +func (o *GetSessionHistoryMetadata) GetType() *string { + if o == nil { + return nil + } + return o.Type +} + +func (o *GetSessionHistoryMetadata) GetThumb() *string { + if o == nil { + return nil + } + return o.Thumb +} + +func (o *GetSessionHistoryMetadata) GetParentThumb() *string { + if o == nil { + return nil + } + return o.ParentThumb +} + +func (o *GetSessionHistoryMetadata) GetGrandparentThumb() *string { + if o == nil { + return nil + } + return o.GrandparentThumb +} + +func (o *GetSessionHistoryMetadata) GetGrandparentArt() *string { + if o == nil { + return nil + } + return o.GrandparentArt +} + +func (o *GetSessionHistoryMetadata) GetIndex() *int { + if o == nil { + return nil + } + return o.Index +} + +func (o *GetSessionHistoryMetadata) GetParentIndex() *int { + if o == nil { + return nil + } + return o.ParentIndex +} + +func (o *GetSessionHistoryMetadata) GetOriginallyAvailableAt() *types.Date { + if o == nil { + return nil + } + return o.OriginallyAvailableAt +} + +func (o *GetSessionHistoryMetadata) GetViewedAt() *int { + if o == nil { + return nil + } + return o.ViewedAt +} + +func (o *GetSessionHistoryMetadata) GetAccountID() *int { + if o == nil { + return nil + } + return o.AccountID +} + +func (o *GetSessionHistoryMetadata) GetDeviceID() *int { + if o == nil { + return nil + } + return o.DeviceID +} + +type GetSessionHistoryMediaContainer struct { + Size *int `json:"size,omitempty"` + Metadata []GetSessionHistoryMetadata `json:"Metadata,omitempty"` +} + +func (o *GetSessionHistoryMediaContainer) GetSize() *int { + if o == nil { + return nil + } + return o.Size +} + +func (o *GetSessionHistoryMediaContainer) GetMetadata() []GetSessionHistoryMetadata { + if o == nil { + return nil + } + return o.Metadata +} + +// GetSessionHistoryResponseBody - List of Plex Sessions +type GetSessionHistoryResponseBody struct { + MediaContainer *GetSessionHistoryMediaContainer `json:"MediaContainer,omitempty"` +} + +func (o *GetSessionHistoryResponseBody) GetMediaContainer() *GetSessionHistoryMediaContainer { + if o == nil { + return nil + } + return o.MediaContainer +} + type GetSessionHistoryResponse struct { // HTTP response content type for this operation ContentType string @@ -13,6 +212,8 @@ type GetSessionHistoryResponse struct { StatusCode int // Raw HTTP response; suitable for custom response parsing RawResponse *http.Response + // List of Plex Sessions + Object *GetSessionHistoryResponseBody } func (o *GetSessionHistoryResponse) GetContentType() string { @@ -35,3 +236,10 @@ func (o *GetSessionHistoryResponse) GetRawResponse() *http.Response { } return o.RawResponse } + +func (o *GetSessionHistoryResponse) GetObject() *GetSessionHistoryResponseBody { + if o == nil { + return nil + } + return o.Object +} diff --git a/models/operations/getsessions.go b/models/operations/getsessions.go index 23d7834..ddc184b 100644 --- a/models/operations/getsessions.go +++ b/models/operations/getsessions.go @@ -6,6 +6,826 @@ import ( "net/http" ) +type GetSessionsStream struct { + AlbumGain *string `json:"albumGain,omitempty"` + AlbumPeak *string `json:"albumPeak,omitempty"` + AlbumRange *string `json:"albumRange,omitempty"` + AudioChannelLayout *string `json:"audioChannelLayout,omitempty"` + BitDepth *int `json:"bitDepth,omitempty"` + Bitrate *int `json:"bitrate,omitempty"` + Channels *int `json:"channels,omitempty"` + Codec *string `json:"codec,omitempty"` + DisplayTitle *string `json:"displayTitle,omitempty"` + ExtendedDisplayTitle *string `json:"extendedDisplayTitle,omitempty"` + Gain *string `json:"gain,omitempty"` + ID *string `json:"id,omitempty"` + Index *int `json:"index,omitempty"` + Loudness *string `json:"loudness,omitempty"` + Lra *string `json:"lra,omitempty"` + Peak *string `json:"peak,omitempty"` + SamplingRate *int `json:"samplingRate,omitempty"` + Selected *bool `json:"selected,omitempty"` + StreamType *int `json:"streamType,omitempty"` + Location *string `json:"location,omitempty"` +} + +func (o *GetSessionsStream) GetAlbumGain() *string { + if o == nil { + return nil + } + return o.AlbumGain +} + +func (o *GetSessionsStream) GetAlbumPeak() *string { + if o == nil { + return nil + } + return o.AlbumPeak +} + +func (o *GetSessionsStream) GetAlbumRange() *string { + if o == nil { + return nil + } + return o.AlbumRange +} + +func (o *GetSessionsStream) GetAudioChannelLayout() *string { + if o == nil { + return nil + } + return o.AudioChannelLayout +} + +func (o *GetSessionsStream) GetBitDepth() *int { + if o == nil { + return nil + } + return o.BitDepth +} + +func (o *GetSessionsStream) GetBitrate() *int { + if o == nil { + return nil + } + return o.Bitrate +} + +func (o *GetSessionsStream) GetChannels() *int { + if o == nil { + return nil + } + return o.Channels +} + +func (o *GetSessionsStream) GetCodec() *string { + if o == nil { + return nil + } + return o.Codec +} + +func (o *GetSessionsStream) GetDisplayTitle() *string { + if o == nil { + return nil + } + return o.DisplayTitle +} + +func (o *GetSessionsStream) GetExtendedDisplayTitle() *string { + if o == nil { + return nil + } + return o.ExtendedDisplayTitle +} + +func (o *GetSessionsStream) GetGain() *string { + if o == nil { + return nil + } + return o.Gain +} + +func (o *GetSessionsStream) GetID() *string { + if o == nil { + return nil + } + return o.ID +} + +func (o *GetSessionsStream) GetIndex() *int { + if o == nil { + return nil + } + return o.Index +} + +func (o *GetSessionsStream) GetLoudness() *string { + if o == nil { + return nil + } + return o.Loudness +} + +func (o *GetSessionsStream) GetLra() *string { + if o == nil { + return nil + } + return o.Lra +} + +func (o *GetSessionsStream) GetPeak() *string { + if o == nil { + return nil + } + return o.Peak +} + +func (o *GetSessionsStream) GetSamplingRate() *int { + if o == nil { + return nil + } + return o.SamplingRate +} + +func (o *GetSessionsStream) GetSelected() *bool { + if o == nil { + return nil + } + return o.Selected +} + +func (o *GetSessionsStream) GetStreamType() *int { + if o == nil { + return nil + } + return o.StreamType +} + +func (o *GetSessionsStream) GetLocation() *string { + if o == nil { + return nil + } + return o.Location +} + +type GetSessionsPart struct { + Container *string `json:"container,omitempty"` + Duration *int `json:"duration,omitempty"` + File *string `json:"file,omitempty"` + HasThumbnail *string `json:"hasThumbnail,omitempty"` + ID *string `json:"id,omitempty"` + Key *string `json:"key,omitempty"` + Size *int `json:"size,omitempty"` + Decision *string `json:"decision,omitempty"` + Selected *bool `json:"selected,omitempty"` + Stream []GetSessionsStream `json:"Stream,omitempty"` +} + +func (o *GetSessionsPart) GetContainer() *string { + if o == nil { + return nil + } + return o.Container +} + +func (o *GetSessionsPart) GetDuration() *int { + if o == nil { + return nil + } + return o.Duration +} + +func (o *GetSessionsPart) GetFile() *string { + if o == nil { + return nil + } + return o.File +} + +func (o *GetSessionsPart) GetHasThumbnail() *string { + if o == nil { + return nil + } + return o.HasThumbnail +} + +func (o *GetSessionsPart) GetID() *string { + if o == nil { + return nil + } + return o.ID +} + +func (o *GetSessionsPart) GetKey() *string { + if o == nil { + return nil + } + return o.Key +} + +func (o *GetSessionsPart) GetSize() *int { + if o == nil { + return nil + } + return o.Size +} + +func (o *GetSessionsPart) GetDecision() *string { + if o == nil { + return nil + } + return o.Decision +} + +func (o *GetSessionsPart) GetSelected() *bool { + if o == nil { + return nil + } + return o.Selected +} + +func (o *GetSessionsPart) GetStream() []GetSessionsStream { + if o == nil { + return nil + } + return o.Stream +} + +type GetSessionsMedia struct { + AudioChannels *int `json:"audioChannels,omitempty"` + AudioCodec *string `json:"audioCodec,omitempty"` + Bitrate *int `json:"bitrate,omitempty"` + Container *string `json:"container,omitempty"` + Duration *int `json:"duration,omitempty"` + ID *string `json:"id,omitempty"` + Selected *bool `json:"selected,omitempty"` + Part []GetSessionsPart `json:"Part,omitempty"` +} + +func (o *GetSessionsMedia) GetAudioChannels() *int { + if o == nil { + return nil + } + return o.AudioChannels +} + +func (o *GetSessionsMedia) GetAudioCodec() *string { + if o == nil { + return nil + } + return o.AudioCodec +} + +func (o *GetSessionsMedia) GetBitrate() *int { + if o == nil { + return nil + } + return o.Bitrate +} + +func (o *GetSessionsMedia) GetContainer() *string { + if o == nil { + return nil + } + return o.Container +} + +func (o *GetSessionsMedia) GetDuration() *int { + if o == nil { + return nil + } + return o.Duration +} + +func (o *GetSessionsMedia) GetID() *string { + if o == nil { + return nil + } + return o.ID +} + +func (o *GetSessionsMedia) GetSelected() *bool { + if o == nil { + return nil + } + return o.Selected +} + +func (o *GetSessionsMedia) GetPart() []GetSessionsPart { + if o == nil { + return nil + } + return o.Part +} + +type User struct { + ID *string `json:"id,omitempty"` + Thumb *string `json:"thumb,omitempty"` + Title *string `json:"title,omitempty"` +} + +func (o *User) GetID() *string { + if o == nil { + return nil + } + return o.ID +} + +func (o *User) GetThumb() *string { + if o == nil { + return nil + } + return o.Thumb +} + +func (o *User) GetTitle() *string { + if o == nil { + return nil + } + return o.Title +} + +type Player struct { + Address *string `json:"address,omitempty"` + MachineIdentifier *string `json:"machineIdentifier,omitempty"` + Model *string `json:"model,omitempty"` + Platform *string `json:"platform,omitempty"` + PlatformVersion *string `json:"platformVersion,omitempty"` + Product *string `json:"product,omitempty"` + Profile *string `json:"profile,omitempty"` + RemotePublicAddress *string `json:"remotePublicAddress,omitempty"` + State *string `json:"state,omitempty"` + Title *string `json:"title,omitempty"` + Version *string `json:"version,omitempty"` + Local *bool `json:"local,omitempty"` + Relayed *bool `json:"relayed,omitempty"` + Secure *bool `json:"secure,omitempty"` + UserID *int `json:"userID,omitempty"` +} + +func (o *Player) GetAddress() *string { + if o == nil { + return nil + } + return o.Address +} + +func (o *Player) GetMachineIdentifier() *string { + if o == nil { + return nil + } + return o.MachineIdentifier +} + +func (o *Player) GetModel() *string { + if o == nil { + return nil + } + return o.Model +} + +func (o *Player) GetPlatform() *string { + if o == nil { + return nil + } + return o.Platform +} + +func (o *Player) GetPlatformVersion() *string { + if o == nil { + return nil + } + return o.PlatformVersion +} + +func (o *Player) GetProduct() *string { + if o == nil { + return nil + } + return o.Product +} + +func (o *Player) GetProfile() *string { + if o == nil { + return nil + } + return o.Profile +} + +func (o *Player) GetRemotePublicAddress() *string { + if o == nil { + return nil + } + return o.RemotePublicAddress +} + +func (o *Player) GetState() *string { + if o == nil { + return nil + } + return o.State +} + +func (o *Player) GetTitle() *string { + if o == nil { + return nil + } + return o.Title +} + +func (o *Player) GetVersion() *string { + if o == nil { + return nil + } + return o.Version +} + +func (o *Player) GetLocal() *bool { + if o == nil { + return nil + } + return o.Local +} + +func (o *Player) GetRelayed() *bool { + if o == nil { + return nil + } + return o.Relayed +} + +func (o *Player) GetSecure() *bool { + if o == nil { + return nil + } + return o.Secure +} + +func (o *Player) GetUserID() *int { + if o == nil { + return nil + } + return o.UserID +} + +type Session struct { + ID *string `json:"id,omitempty"` + Bandwidth *int `json:"bandwidth,omitempty"` + Location *string `json:"location,omitempty"` +} + +func (o *Session) GetID() *string { + if o == nil { + return nil + } + return o.ID +} + +func (o *Session) GetBandwidth() *int { + if o == nil { + return nil + } + return o.Bandwidth +} + +func (o *Session) GetLocation() *string { + if o == nil { + return nil + } + return o.Location +} + +type GetSessionsMetadata struct { + AddedAt *int `json:"addedAt,omitempty"` + Art *string `json:"art,omitempty"` + Duration *int `json:"duration,omitempty"` + GrandparentArt *string `json:"grandparentArt,omitempty"` + GrandparentGUID *string `json:"grandparentGuid,omitempty"` + GrandparentKey *string `json:"grandparentKey,omitempty"` + GrandparentRatingKey *string `json:"grandparentRatingKey,omitempty"` + GrandparentThumb *string `json:"grandparentThumb,omitempty"` + GrandparentTitle *string `json:"grandparentTitle,omitempty"` + GUID *string `json:"guid,omitempty"` + Index *int `json:"index,omitempty"` + Key *string `json:"key,omitempty"` + LibrarySectionID *string `json:"librarySectionID,omitempty"` + LibrarySectionKey *string `json:"librarySectionKey,omitempty"` + LibrarySectionTitle *string `json:"librarySectionTitle,omitempty"` + MusicAnalysisVersion *string `json:"musicAnalysisVersion,omitempty"` + ParentGUID *string `json:"parentGuid,omitempty"` + ParentIndex *int `json:"parentIndex,omitempty"` + ParentKey *string `json:"parentKey,omitempty"` + ParentRatingKey *string `json:"parentRatingKey,omitempty"` + ParentStudio *string `json:"parentStudio,omitempty"` + ParentThumb *string `json:"parentThumb,omitempty"` + ParentTitle *string `json:"parentTitle,omitempty"` + ParentYear *int `json:"parentYear,omitempty"` + RatingCount *int `json:"ratingCount,omitempty"` + RatingKey *string `json:"ratingKey,omitempty"` + SessionKey *string `json:"sessionKey,omitempty"` + Thumb *string `json:"thumb,omitempty"` + Title *string `json:"title,omitempty"` + TitleSort *string `json:"titleSort,omitempty"` + Type *string `json:"type,omitempty"` + UpdatedAt *int `json:"updatedAt,omitempty"` + ViewOffset *int `json:"viewOffset,omitempty"` + Media []GetSessionsMedia `json:"Media,omitempty"` + User *User `json:"User,omitempty"` + Player *Player `json:"Player,omitempty"` + Session *Session `json:"Session,omitempty"` +} + +func (o *GetSessionsMetadata) GetAddedAt() *int { + if o == nil { + return nil + } + return o.AddedAt +} + +func (o *GetSessionsMetadata) GetArt() *string { + if o == nil { + return nil + } + return o.Art +} + +func (o *GetSessionsMetadata) GetDuration() *int { + if o == nil { + return nil + } + return o.Duration +} + +func (o *GetSessionsMetadata) GetGrandparentArt() *string { + if o == nil { + return nil + } + return o.GrandparentArt +} + +func (o *GetSessionsMetadata) GetGrandparentGUID() *string { + if o == nil { + return nil + } + return o.GrandparentGUID +} + +func (o *GetSessionsMetadata) GetGrandparentKey() *string { + if o == nil { + return nil + } + return o.GrandparentKey +} + +func (o *GetSessionsMetadata) GetGrandparentRatingKey() *string { + if o == nil { + return nil + } + return o.GrandparentRatingKey +} + +func (o *GetSessionsMetadata) GetGrandparentThumb() *string { + if o == nil { + return nil + } + return o.GrandparentThumb +} + +func (o *GetSessionsMetadata) GetGrandparentTitle() *string { + if o == nil { + return nil + } + return o.GrandparentTitle +} + +func (o *GetSessionsMetadata) GetGUID() *string { + if o == nil { + return nil + } + return o.GUID +} + +func (o *GetSessionsMetadata) GetIndex() *int { + if o == nil { + return nil + } + return o.Index +} + +func (o *GetSessionsMetadata) GetKey() *string { + if o == nil { + return nil + } + return o.Key +} + +func (o *GetSessionsMetadata) GetLibrarySectionID() *string { + if o == nil { + return nil + } + return o.LibrarySectionID +} + +func (o *GetSessionsMetadata) GetLibrarySectionKey() *string { + if o == nil { + return nil + } + return o.LibrarySectionKey +} + +func (o *GetSessionsMetadata) GetLibrarySectionTitle() *string { + if o == nil { + return nil + } + return o.LibrarySectionTitle +} + +func (o *GetSessionsMetadata) GetMusicAnalysisVersion() *string { + if o == nil { + return nil + } + return o.MusicAnalysisVersion +} + +func (o *GetSessionsMetadata) GetParentGUID() *string { + if o == nil { + return nil + } + return o.ParentGUID +} + +func (o *GetSessionsMetadata) GetParentIndex() *int { + if o == nil { + return nil + } + return o.ParentIndex +} + +func (o *GetSessionsMetadata) GetParentKey() *string { + if o == nil { + return nil + } + return o.ParentKey +} + +func (o *GetSessionsMetadata) GetParentRatingKey() *string { + if o == nil { + return nil + } + return o.ParentRatingKey +} + +func (o *GetSessionsMetadata) GetParentStudio() *string { + if o == nil { + return nil + } + return o.ParentStudio +} + +func (o *GetSessionsMetadata) GetParentThumb() *string { + if o == nil { + return nil + } + return o.ParentThumb +} + +func (o *GetSessionsMetadata) GetParentTitle() *string { + if o == nil { + return nil + } + return o.ParentTitle +} + +func (o *GetSessionsMetadata) GetParentYear() *int { + if o == nil { + return nil + } + return o.ParentYear +} + +func (o *GetSessionsMetadata) GetRatingCount() *int { + if o == nil { + return nil + } + return o.RatingCount +} + +func (o *GetSessionsMetadata) GetRatingKey() *string { + if o == nil { + return nil + } + return o.RatingKey +} + +func (o *GetSessionsMetadata) GetSessionKey() *string { + if o == nil { + return nil + } + return o.SessionKey +} + +func (o *GetSessionsMetadata) GetThumb() *string { + if o == nil { + return nil + } + return o.Thumb +} + +func (o *GetSessionsMetadata) GetTitle() *string { + if o == nil { + return nil + } + return o.Title +} + +func (o *GetSessionsMetadata) GetTitleSort() *string { + if o == nil { + return nil + } + return o.TitleSort +} + +func (o *GetSessionsMetadata) GetType() *string { + if o == nil { + return nil + } + return o.Type +} + +func (o *GetSessionsMetadata) GetUpdatedAt() *int { + if o == nil { + return nil + } + return o.UpdatedAt +} + +func (o *GetSessionsMetadata) GetViewOffset() *int { + if o == nil { + return nil + } + return o.ViewOffset +} + +func (o *GetSessionsMetadata) GetMedia() []GetSessionsMedia { + if o == nil { + return nil + } + return o.Media +} + +func (o *GetSessionsMetadata) GetUser() *User { + if o == nil { + return nil + } + return o.User +} + +func (o *GetSessionsMetadata) GetPlayer() *Player { + if o == nil { + return nil + } + return o.Player +} + +func (o *GetSessionsMetadata) GetSession() *Session { + if o == nil { + return nil + } + return o.Session +} + +type GetSessionsMediaContainer struct { + Size *int `json:"size,omitempty"` + Metadata []GetSessionsMetadata `json:"Metadata,omitempty"` +} + +func (o *GetSessionsMediaContainer) GetSize() *int { + if o == nil { + return nil + } + return o.Size +} + +func (o *GetSessionsMediaContainer) GetMetadata() []GetSessionsMetadata { + if o == nil { + return nil + } + return o.Metadata +} + +// GetSessionsResponseBody - List of Active Plex Sessions +type GetSessionsResponseBody struct { + MediaContainer *GetSessionsMediaContainer `json:"MediaContainer,omitempty"` +} + +func (o *GetSessionsResponseBody) GetMediaContainer() *GetSessionsMediaContainer { + if o == nil { + return nil + } + return o.MediaContainer +} + type GetSessionsResponse struct { // HTTP response content type for this operation ContentType string @@ -13,6 +833,8 @@ type GetSessionsResponse struct { StatusCode int // Raw HTTP response; suitable for custom response parsing RawResponse *http.Response + // List of Active Plex Sessions + Object *GetSessionsResponseBody } func (o *GetSessionsResponse) GetContentType() string { @@ -35,3 +857,10 @@ func (o *GetSessionsResponse) GetRawResponse() *http.Response { } return o.RawResponse } + +func (o *GetSessionsResponse) GetObject() *GetSessionsResponseBody { + if o == nil { + return nil + } + return o.Object +} diff --git a/models/operations/gettranscodesessions.go b/models/operations/gettranscodesessions.go index 873cc60..d49240c 100644 --- a/models/operations/gettranscodesessions.go +++ b/models/operations/gettranscodesessions.go @@ -11,20 +11,22 @@ type TranscodeSession struct { Throttled *bool `json:"throttled,omitempty"` Complete *bool `json:"complete,omitempty"` Progress *float64 `json:"progress,omitempty"` - Size *float64 `json:"size,omitempty"` + Size *int `json:"size,omitempty"` Speed *float64 `json:"speed,omitempty"` Error *bool `json:"error,omitempty"` - Duration *float64 `json:"duration,omitempty"` + Duration *int `json:"duration,omitempty"` + Remaining *int `json:"remaining,omitempty"` Context *string `json:"context,omitempty"` SourceVideoCodec *string `json:"sourceVideoCodec,omitempty"` SourceAudioCodec *string `json:"sourceAudioCodec,omitempty"` VideoDecision *string `json:"videoDecision,omitempty"` AudioDecision *string `json:"audioDecision,omitempty"` + SubtitleDecision *string `json:"subtitleDecision,omitempty"` Protocol *string `json:"protocol,omitempty"` Container *string `json:"container,omitempty"` VideoCodec *string `json:"videoCodec,omitempty"` AudioCodec *string `json:"audioCodec,omitempty"` - AudioChannels *float64 `json:"audioChannels,omitempty"` + AudioChannels *int `json:"audioChannels,omitempty"` TranscodeHwRequested *bool `json:"transcodeHwRequested,omitempty"` TimeStamp *float64 `json:"timeStamp,omitempty"` MaxOffsetAvailable *float64 `json:"maxOffsetAvailable,omitempty"` @@ -59,7 +61,7 @@ func (o *TranscodeSession) GetProgress() *float64 { return o.Progress } -func (o *TranscodeSession) GetSize() *float64 { +func (o *TranscodeSession) GetSize() *int { if o == nil { return nil } @@ -80,13 +82,20 @@ func (o *TranscodeSession) GetError() *bool { return o.Error } -func (o *TranscodeSession) GetDuration() *float64 { +func (o *TranscodeSession) GetDuration() *int { if o == nil { return nil } return o.Duration } +func (o *TranscodeSession) GetRemaining() *int { + if o == nil { + return nil + } + return o.Remaining +} + func (o *TranscodeSession) GetContext() *string { if o == nil { return nil @@ -122,6 +131,13 @@ func (o *TranscodeSession) GetAudioDecision() *string { return o.AudioDecision } +func (o *TranscodeSession) GetSubtitleDecision() *string { + if o == nil { + return nil + } + return o.SubtitleDecision +} + func (o *TranscodeSession) GetProtocol() *string { if o == nil { return nil @@ -150,7 +166,7 @@ func (o *TranscodeSession) GetAudioCodec() *string { return o.AudioCodec } -func (o *TranscodeSession) GetAudioChannels() *float64 { +func (o *TranscodeSession) GetAudioChannels() *int { if o == nil { return nil } @@ -186,11 +202,11 @@ func (o *TranscodeSession) GetMinOffsetAvailable() *float64 { } type GetTranscodeSessionsMediaContainer struct { - Size *float64 `json:"size,omitempty"` + Size *int `json:"size,omitempty"` TranscodeSession []TranscodeSession `json:"TranscodeSession,omitempty"` } -func (o *GetTranscodeSessionsMediaContainer) GetSize() *float64 { +func (o *GetTranscodeSessionsMediaContainer) GetSize() *int { if o == nil { return nil } diff --git a/models/operations/getupdatestatus.go b/models/operations/getupdatestatus.go index e069155..5098156 100644 --- a/models/operations/getupdatestatus.go +++ b/models/operations/getupdatestatus.go @@ -6,6 +6,120 @@ import ( "net/http" ) +type Release struct { + Key *string `json:"key,omitempty"` + Version *string `json:"version,omitempty"` + Added *string `json:"added,omitempty"` + Fixed *string `json:"fixed,omitempty"` + DownloadURL *string `json:"downloadURL,omitempty"` + State *string `json:"state,omitempty"` +} + +func (o *Release) GetKey() *string { + if o == nil { + return nil + } + return o.Key +} + +func (o *Release) GetVersion() *string { + if o == nil { + return nil + } + return o.Version +} + +func (o *Release) GetAdded() *string { + if o == nil { + return nil + } + return o.Added +} + +func (o *Release) GetFixed() *string { + if o == nil { + return nil + } + return o.Fixed +} + +func (o *Release) GetDownloadURL() *string { + if o == nil { + return nil + } + return o.DownloadURL +} + +func (o *Release) GetState() *string { + if o == nil { + return nil + } + return o.State +} + +type GetUpdateStatusMediaContainer struct { + Size *int `json:"size,omitempty"` + CanInstall *bool `json:"canInstall,omitempty"` + CheckedAt *int `json:"checkedAt,omitempty"` + DownloadURL *string `json:"downloadURL,omitempty"` + Status *int `json:"status,omitempty"` + Release []Release `json:"Release,omitempty"` +} + +func (o *GetUpdateStatusMediaContainer) GetSize() *int { + if o == nil { + return nil + } + return o.Size +} + +func (o *GetUpdateStatusMediaContainer) GetCanInstall() *bool { + if o == nil { + return nil + } + return o.CanInstall +} + +func (o *GetUpdateStatusMediaContainer) GetCheckedAt() *int { + if o == nil { + return nil + } + return o.CheckedAt +} + +func (o *GetUpdateStatusMediaContainer) GetDownloadURL() *string { + if o == nil { + return nil + } + return o.DownloadURL +} + +func (o *GetUpdateStatusMediaContainer) GetStatus() *int { + if o == nil { + return nil + } + return o.Status +} + +func (o *GetUpdateStatusMediaContainer) GetRelease() []Release { + if o == nil { + return nil + } + return o.Release +} + +// GetUpdateStatusResponseBody - The Server Updates +type GetUpdateStatusResponseBody struct { + MediaContainer *GetUpdateStatusMediaContainer `json:"MediaContainer,omitempty"` +} + +func (o *GetUpdateStatusResponseBody) GetMediaContainer() *GetUpdateStatusMediaContainer { + if o == nil { + return nil + } + return o.MediaContainer +} + type GetUpdateStatusResponse struct { // HTTP response content type for this operation ContentType string @@ -13,6 +127,8 @@ type GetUpdateStatusResponse struct { StatusCode int // Raw HTTP response; suitable for custom response parsing RawResponse *http.Response + // The Server Updates + Object *GetUpdateStatusResponseBody } func (o *GetUpdateStatusResponse) GetContentType() string { @@ -35,3 +151,10 @@ func (o *GetUpdateStatusResponse) GetRawResponse() *http.Response { } return o.RawResponse } + +func (o *GetUpdateStatusResponse) GetObject() *GetUpdateStatusResponseBody { + if o == nil { + return nil + } + return o.Object +} diff --git a/models/operations/updateplaylist.go b/models/operations/updateplaylist.go index 437fab9..ee9dbc6 100644 --- a/models/operations/updateplaylist.go +++ b/models/operations/updateplaylist.go @@ -9,6 +9,10 @@ import ( type UpdatePlaylistRequest struct { // the ID of the playlist PlaylistID float64 `pathParam:"style=simple,explode=false,name=playlistID"` + // name of the playlist + Title *string `queryParam:"style=form,explode=true,name=title"` + // summary description of the playlist + Summary *string `queryParam:"style=form,explode=true,name=summary"` } func (o *UpdatePlaylistRequest) GetPlaylistID() float64 { @@ -18,6 +22,20 @@ func (o *UpdatePlaylistRequest) GetPlaylistID() float64 { return o.PlaylistID } +func (o *UpdatePlaylistRequest) GetTitle() *string { + if o == nil { + return nil + } + return o.Title +} + +func (o *UpdatePlaylistRequest) GetSummary() *string { + if o == nil { + return nil + } + return o.Summary +} + type UpdatePlaylistResponse struct { // HTTP response content type for this operation ContentType string diff --git a/models/operations/uploadplaylist.go b/models/operations/uploadplaylist.go index 45b1c53..fb7f786 100644 --- a/models/operations/uploadplaylist.go +++ b/models/operations/uploadplaylist.go @@ -8,8 +8,10 @@ import ( "net/http" ) -// Force - force overwriting of duplicate playlists. By default, a playlist file uploaded with the same path will overwrite the existing playlist. -// The `force` argument is used to disable overwriting. If the `force` argument is set to 0, a new playlist will be created suffixed with the date and time that the duplicate was uploaded. +// Force overwriting of duplicate playlists. +// By default, a playlist file uploaded with the same path will overwrite the existing playlist. +// The `force` argument is used to disable overwriting. +// If the `force` argument is set to 0, a new playlist will be created suffixed with the date and time that the duplicate was uploaded. type Force int64 const ( @@ -46,8 +48,10 @@ type UploadPlaylistRequest struct { // The GUID of each playlist is based on the filename. // Path string `queryParam:"style=form,explode=true,name=path"` - // force overwriting of duplicate playlists. By default, a playlist file uploaded with the same path will overwrite the existing playlist. - // The `force` argument is used to disable overwriting. If the `force` argument is set to 0, a new playlist will be created suffixed with the date and time that the duplicate was uploaded. + // Force overwriting of duplicate playlists. + // By default, a playlist file uploaded with the same path will overwrite the existing playlist. + // The `force` argument is used to disable overwriting. + // If the `force` argument is set to 0, a new playlist will be created suffixed with the date and time that the duplicate was uploaded. // Force Force `queryParam:"style=form,explode=true,name=force"` } diff --git a/models/sdkerrors/getcommonlibraryitems.go b/models/sdkerrors/getcommonlibraryitems.go deleted file mode 100644 index 42cd7e7..0000000 --- a/models/sdkerrors/getcommonlibraryitems.go +++ /dev/null @@ -1,49 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package sdkerrors - -import ( - "encoding/json" - "net/http" -) - -type GetCommonLibraryItemsErrors struct { - Code *float64 `json:"code,omitempty"` - Message *string `json:"message,omitempty"` - Status *float64 `json:"status,omitempty"` -} - -func (o *GetCommonLibraryItemsErrors) GetCode() *float64 { - if o == nil { - return nil - } - return o.Code -} - -func (o *GetCommonLibraryItemsErrors) GetMessage() *string { - if o == nil { - return nil - } - return o.Message -} - -func (o *GetCommonLibraryItemsErrors) GetStatus() *float64 { - if o == nil { - return nil - } - return o.Status -} - -// GetCommonLibraryItemsResponseBody - Unauthorized - Returned if the X-Plex-Token is missing from the header or query. -type GetCommonLibraryItemsResponseBody struct { - Errors []GetCommonLibraryItemsErrors `json:"errors,omitempty"` - // Raw HTTP response; suitable for custom response parsing - RawResponse *http.Response `json:"-"` -} - -var _ error = &GetCommonLibraryItemsResponseBody{} - -func (e *GetCommonLibraryItemsResponseBody) Error() string { - data, _ := json.Marshal(e) - return string(data) -} diff --git a/models/sdkerrors/getlatestlibraryitems.go b/models/sdkerrors/getlatestlibraryitems.go deleted file mode 100644 index 49fed49..0000000 --- a/models/sdkerrors/getlatestlibraryitems.go +++ /dev/null @@ -1,49 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package sdkerrors - -import ( - "encoding/json" - "net/http" -) - -type GetLatestLibraryItemsErrors struct { - Code *float64 `json:"code,omitempty"` - Message *string `json:"message,omitempty"` - Status *float64 `json:"status,omitempty"` -} - -func (o *GetLatestLibraryItemsErrors) GetCode() *float64 { - if o == nil { - return nil - } - return o.Code -} - -func (o *GetLatestLibraryItemsErrors) GetMessage() *string { - if o == nil { - return nil - } - return o.Message -} - -func (o *GetLatestLibraryItemsErrors) GetStatus() *float64 { - if o == nil { - return nil - } - return o.Status -} - -// GetLatestLibraryItemsResponseBody - Unauthorized - Returned if the X-Plex-Token is missing from the header or query. -type GetLatestLibraryItemsResponseBody struct { - Errors []GetLatestLibraryItemsErrors `json:"errors,omitempty"` - // Raw HTTP response; suitable for custom response parsing - RawResponse *http.Response `json:"-"` -} - -var _ error = &GetLatestLibraryItemsResponseBody{} - -func (e *GetLatestLibraryItemsResponseBody) Error() string { - data, _ := json.Marshal(e) - return string(data) -} diff --git a/models/sdkerrors/getlibraryitems.go b/models/sdkerrors/getlibraryitems.go deleted file mode 100644 index 63c340d..0000000 --- a/models/sdkerrors/getlibraryitems.go +++ /dev/null @@ -1,49 +0,0 @@ -// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. - -package sdkerrors - -import ( - "encoding/json" - "net/http" -) - -type GetLibraryItemsErrors struct { - Code *float64 `json:"code,omitempty"` - Message *string `json:"message,omitempty"` - Status *float64 `json:"status,omitempty"` -} - -func (o *GetLibraryItemsErrors) GetCode() *float64 { - if o == nil { - return nil - } - return o.Code -} - -func (o *GetLibraryItemsErrors) GetMessage() *string { - if o == nil { - return nil - } - return o.Message -} - -func (o *GetLibraryItemsErrors) GetStatus() *float64 { - if o == nil { - return nil - } - return o.Status -} - -// GetLibraryItemsResponseBody - Unauthorized - Returned if the X-Plex-Token is missing from the header or query. -type GetLibraryItemsResponseBody struct { - Errors []GetLibraryItemsErrors `json:"errors,omitempty"` - // Raw HTTP response; suitable for custom response parsing - RawResponse *http.Response `json:"-"` -} - -var _ error = &GetLibraryItemsResponseBody{} - -func (e *GetLibraryItemsResponseBody) Error() string { - data, _ := json.Marshal(e) - return string(data) -} diff --git a/playlists.go b/playlists.go index e36c1b9..99ad2d5 100644 --- a/playlists.go +++ b/playlists.go @@ -30,7 +30,7 @@ func newPlaylists(sdkConfig sdkConfiguration) *Playlists { // CreatePlaylist - Create a Playlist // Create a new playlist. By default the playlist is blank. To create a playlist along with a first item, pass: -// - `uri` - The content URI for what we're playing (e.g. `library://...`). +// - `uri` - The content URI for what we're playing (e.g. `server://1234/com.plexapp.plugins.library/library/metadata/1`). // - `playQueueID` - To create a playlist from an existing play queue. func (s *Playlists) CreatePlaylist(ctx context.Context, request operations.CreatePlaylistRequest) (*operations.CreatePlaylistResponse, error) { baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) @@ -73,6 +73,17 @@ func (s *Playlists) CreatePlaylist(ctx context.Context, request operations.Creat httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out operations.CreatePlaylistResponseBody + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.Object = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } case httpRes.StatusCode == 400: fallthrough case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: @@ -106,7 +117,7 @@ func (s *Playlists) GetPlaylists(ctx context.Context, playlistType *operations.P } baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) - url := strings.TrimSuffix(baseURL, "/") + "/playlists/all" + url := strings.TrimSuffix(baseURL, "/") + "/playlists" req, err := http.NewRequestWithContext(ctx, "GET", url, nil) if err != nil { @@ -145,6 +156,17 @@ func (s *Playlists) GetPlaylists(ctx context.Context, playlistType *operations.P httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out operations.GetPlaylistsResponseBody + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.Object = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } case httpRes.StatusCode == 400: fallthrough case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: @@ -216,6 +238,17 @@ func (s *Playlists) GetPlaylist(ctx context.Context, playlistID float64) (*opera httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out operations.GetPlaylistResponseBody + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.Object = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } case httpRes.StatusCode == 400: fallthrough case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: @@ -312,9 +345,11 @@ func (s *Playlists) DeletePlaylist(ctx context.Context, playlistID float64) (*op // UpdatePlaylist - Update a Playlist // From PMS version 1.9.1 clients can also edit playlist metadata using this endpoint as they would via `PUT /library/metadata/{playlistID}` -func (s *Playlists) UpdatePlaylist(ctx context.Context, playlistID float64) (*operations.UpdatePlaylistResponse, error) { +func (s *Playlists) UpdatePlaylist(ctx context.Context, playlistID float64, title *string, summary *string) (*operations.UpdatePlaylistResponse, error) { request := operations.UpdatePlaylistRequest{ PlaylistID: playlistID, + Title: title, + Summary: summary, } baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails()) @@ -330,6 +365,10 @@ func (s *Playlists) UpdatePlaylist(ctx context.Context, playlistID float64) (*op req.Header.Set("Accept", "application/json") req.Header.Set("user-agent", s.sdkConfiguration.UserAgent) + if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil { + return nil, fmt.Errorf("error populating query params: %w", err) + } + client := s.sdkConfiguration.SecurityClient httpRes, err := client.Do(req) @@ -434,6 +473,17 @@ func (s *Playlists) GetPlaylistContents(ctx context.Context, playlistID float64, httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out operations.GetPlaylistContentsResponseBody + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.Object = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } case httpRes.StatusCode == 400: fallthrough case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: @@ -529,9 +579,9 @@ func (s *Playlists) ClearPlaylistContents(ctx context.Context, playlistID float6 } // AddPlaylistContents - Adding to a Playlist -// Adds a generator to a playlist, same parameters as the POST above. With a dumb playlist, this adds the specified items to the playlist. +// Adds a generator to a playlist, same parameters as the POST to create. With a dumb playlist, this adds the specified items to the playlist. // With a smart playlist, passing a new `uri` parameter replaces the rules for the playlist. Returns the playlist. -func (s *Playlists) AddPlaylistContents(ctx context.Context, playlistID float64, uri string, playQueueID float64) (*operations.AddPlaylistContentsResponse, error) { +func (s *Playlists) AddPlaylistContents(ctx context.Context, playlistID float64, uri string, playQueueID *float64) (*operations.AddPlaylistContentsResponse, error) { request := operations.AddPlaylistContentsRequest{ PlaylistID: playlistID, URI: uri, @@ -581,6 +631,17 @@ func (s *Playlists) AddPlaylistContents(ctx context.Context, playlistID float64, httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out operations.AddPlaylistContentsResponseBody + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.Object = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } case httpRes.StatusCode == 400: fallthrough case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: diff --git a/plexapi.go b/plexapi.go index a70286e..670b452 100644 --- a/plexapi.go +++ b/plexapi.go @@ -251,9 +251,9 @@ func New(opts ...SDKOption) *PlexAPI { sdkConfiguration: sdkConfiguration{ Language: "go", OpenAPIDocVersion: "0.0.3", - SDKVersion: "0.1.0", + SDKVersion: "0.1.1", GenVersion: "2.237.3", - UserAgent: "speakeasy-sdk/go 0.1.0 2.237.3 0.0.3 github.com/LukeHagar/plexgo", + UserAgent: "speakeasy-sdk/go 0.1.1 2.237.3 0.0.3 github.com/LukeHagar/plexgo", ServerDefaults: []map[string]string{ { "protocol": "http", diff --git a/server.go b/server.go index 9753fc2..2ed9cab 100644 --- a/server.go +++ b/server.go @@ -214,12 +214,12 @@ func (s *Server) GetAvailableClients(ctx context.Context) (*operations.GetAvaila case httpRes.StatusCode == 200: switch { case utils.MatchContentType(contentType, `application/json`): - var out []operations.ResponseBody + var out operations.GetAvailableClientsResponseBody if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { return nil, err } - res.ResponseBodies = out + res.Object = &out default: return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) } diff --git a/sessions.go b/sessions.go index 5b60f26..d287d6a 100644 --- a/sessions.go +++ b/sessions.go @@ -64,6 +64,17 @@ func (s *Sessions) GetSessions(ctx context.Context) (*operations.GetSessionsResp httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out operations.GetSessionsResponseBody + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.Object = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } case httpRes.StatusCode == 400: fallthrough case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: @@ -127,6 +138,17 @@ func (s *Sessions) GetSessionHistory(ctx context.Context) (*operations.GetSessio httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out operations.GetSessionHistoryResponseBody + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.Object = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } case httpRes.StatusCode == 400: fallthrough case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: @@ -270,7 +292,7 @@ func (s *Sessions) StopTranscodeSession(ctx context.Context, sessionKey string) httpRes.Body.Close() httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { - case httpRes.StatusCode == 200: + case httpRes.StatusCode == 204: case httpRes.StatusCode == 400: fallthrough case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: diff --git a/updater.go b/updater.go index 2c771db..998ccc4 100644 --- a/updater.go +++ b/updater.go @@ -65,6 +65,17 @@ func (s *Updater) GetUpdateStatus(ctx context.Context) (*operations.GetUpdateSta httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody)) switch { case httpRes.StatusCode == 200: + switch { + case utils.MatchContentType(contentType, `application/json`): + var out operations.GetUpdateStatusResponseBody + if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil { + return nil, err + } + + res.Object = &out + default: + return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes) + } case httpRes.StatusCode == 400: fallthrough case httpRes.StatusCode >= 400 && httpRes.StatusCode < 500: