diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index 41fa76d..586a8ba 100755 --- a/.speakeasy/gen.lock +++ b/.speakeasy/gen.lock @@ -1,12 +1,12 @@ lockVersion: 2.0.0 id: 01a51eb2-5d90-4a24-b154-68e491d02c36 management: - docChecksum: 1b63d7c28734a44b0339f405b186b290 + docChecksum: 82a4a9784fb0e66e1c64f130701cdd08 docVersion: 0.0.3 speakeasyVersion: 1.401.2 generationVersion: 2.421.3 - releaseVersion: 0.9.0 - configChecksum: 29b7adf1314f56c915e639b553b51899 + releaseVersion: 0.9.1 + configChecksum: 21ef7be3198d51c3f3393a34f95241db repoURL: https://github.com/LukeHagar/plexphp.git repoSubDirectory: . installationURL: https://github.com/LukeHagar/plexphp @@ -325,6 +325,8 @@ generatedFiles: - docs/Models/Errors/UploadPlaylistPlaylistsErrors.md - docs/Models/Errors/UploadPlaylistUnauthorized.md - docs/Models/Operations/Account.md + - docs/Models/Operations/Action.md + - docs/Models/Operations/ActiveDirection.md - docs/Models/Operations/Activity.md - docs/Models/Operations/AddPlaylistContentsMediaContainer.md - docs/Models/Operations/AddPlaylistContentsMetadata.md @@ -343,6 +345,7 @@ generatedFiles: - docs/Models/Operations/CheckForUpdatesResponse.md - docs/Models/Operations/ClearPlaylistContentsRequest.md - docs/Models/Operations/ClearPlaylistContentsResponse.md + - docs/Models/Operations/Collection.md - docs/Models/Operations/Connections.md - docs/Models/Operations/Context.md - docs/Models/Operations/Country.md @@ -352,6 +355,7 @@ generatedFiles: - docs/Models/Operations/CreatePlaylistRequest.md - docs/Models/Operations/CreatePlaylistResponse.md - docs/Models/Operations/CreatePlaylistResponseBody.md + - docs/Models/Operations/DefaultDirection.md - docs/Models/Operations/DefaultSubtitleAccessibility.md - docs/Models/Operations/DefaultSubtitleForced.md - docs/Models/Operations/DeleteLibraryRequest.md @@ -368,6 +372,7 @@ generatedFiles: - docs/Models/Operations/Field.md - docs/Models/Operations/FieldType.md - docs/Models/Operations/Filter.md + - docs/Models/Operations/FlattenSeasons.md - docs/Models/Operations/Force.md - docs/Models/Operations/Friend.md - docs/Models/Operations/Genre.md @@ -430,6 +435,9 @@ generatedFiles: - docs/Models/Operations/GetLibraryItemsFieldType.md - docs/Models/Operations/GetLibraryItemsFilter.md - docs/Models/Operations/GetLibraryItemsGenre.md + - docs/Models/Operations/GetLibraryItemsImage.md + - docs/Models/Operations/GetLibraryItemsLibraryResponseType.md + - docs/Models/Operations/GetLibraryItemsLibraryType.md - docs/Models/Operations/GetLibraryItemsMedia.md - docs/Models/Operations/GetLibraryItemsMediaContainer.md - docs/Models/Operations/GetLibraryItemsMetadata.md @@ -607,6 +615,7 @@ generatedFiles: - docs/Models/Operations/GetWatchListResponse.md - docs/Models/Operations/GetWatchListResponseBody.md - docs/Models/Operations/Guids.md + - docs/Models/Operations/HasThumbnail.md - docs/Models/Operations/Hub.md - docs/Models/Operations/Image.md - docs/Models/Operations/IncludeCollections.md @@ -690,6 +699,7 @@ generatedFiles: - docs/Models/Operations/Setting.md - docs/Models/Operations/SharedServers.md - docs/Models/Operations/SharedSources.md + - docs/Models/Operations/ShowOrdering.md - docs/Models/Operations/Skip.md - docs/Models/Operations/Smart.md - docs/Models/Operations/Sort.md @@ -716,6 +726,7 @@ generatedFiles: - docs/Models/Operations/TranscodeSession.md - docs/Models/Operations/Trials.md - docs/Models/Operations/Type.md + - docs/Models/Operations/UltraBlurColors.md - docs/Models/Operations/UpdatePlayProgressRequest.md - docs/Models/Operations/UpdatePlayProgressResponse.md - docs/Models/Operations/UpdatePlaylistRequest.md @@ -1195,6 +1206,8 @@ generatedFiles: - src/Models/Errors/UploadPlaylistUnauthorized.php - src/Models/Errors/UploadPlaylistUnauthorizedThrowable.php - src/Models/Operations/Account.php + - src/Models/Operations/Action.php + - src/Models/Operations/ActiveDirection.php - src/Models/Operations/Activity.php - src/Models/Operations/AddPlaylistContentsMediaContainer.php - src/Models/Operations/AddPlaylistContentsMetadata.php @@ -1213,6 +1226,7 @@ generatedFiles: - src/Models/Operations/CheckForUpdatesResponse.php - src/Models/Operations/ClearPlaylistContentsRequest.php - src/Models/Operations/ClearPlaylistContentsResponse.php + - src/Models/Operations/Collection.php - src/Models/Operations/Connections.php - src/Models/Operations/Context.php - src/Models/Operations/Country.php @@ -1222,6 +1236,7 @@ generatedFiles: - src/Models/Operations/CreatePlaylistRequest.php - src/Models/Operations/CreatePlaylistResponse.php - src/Models/Operations/CreatePlaylistResponseBody.php + - src/Models/Operations/DefaultDirection.php - src/Models/Operations/DefaultSubtitleAccessibility.php - src/Models/Operations/DefaultSubtitleForced.php - src/Models/Operations/DeleteLibraryRequest.php @@ -1238,6 +1253,7 @@ generatedFiles: - src/Models/Operations/Field.php - src/Models/Operations/FieldType.php - src/Models/Operations/Filter.php + - src/Models/Operations/FlattenSeasons.php - src/Models/Operations/Force.php - src/Models/Operations/Friend.php - src/Models/Operations/Genre.php @@ -1300,6 +1316,9 @@ generatedFiles: - src/Models/Operations/GetLibraryItemsFieldType.php - src/Models/Operations/GetLibraryItemsFilter.php - src/Models/Operations/GetLibraryItemsGenre.php + - src/Models/Operations/GetLibraryItemsImage.php + - src/Models/Operations/GetLibraryItemsLibraryResponseType.php + - src/Models/Operations/GetLibraryItemsLibraryType.php - src/Models/Operations/GetLibraryItemsMedia.php - src/Models/Operations/GetLibraryItemsMediaContainer.php - src/Models/Operations/GetLibraryItemsMetadata.php @@ -1477,6 +1496,7 @@ generatedFiles: - src/Models/Operations/GetWatchListResponse.php - src/Models/Operations/GetWatchListResponseBody.php - src/Models/Operations/Guids.php + - src/Models/Operations/HasThumbnail.php - src/Models/Operations/Hub.php - src/Models/Operations/Image.php - src/Models/Operations/IncludeCollections.php @@ -1559,6 +1579,7 @@ generatedFiles: - src/Models/Operations/Setting.php - src/Models/Operations/SharedServers.php - src/Models/Operations/SharedSources.php + - src/Models/Operations/ShowOrdering.php - src/Models/Operations/Skip.php - src/Models/Operations/Smart.php - src/Models/Operations/Sort.php @@ -1585,6 +1606,7 @@ generatedFiles: - src/Models/Operations/TranscodeSession.php - src/Models/Operations/Trials.php - src/Models/Operations/Type.php + - src/Models/Operations/UltraBlurColors.php - src/Models/Operations/UpdatePlayProgressRequest.php - src/Models/Operations/UpdatePlayProgressResponse.php - src/Models/Operations/UpdatePlaylistRequest.php @@ -1711,7 +1733,8 @@ examples: application/json: {"errors": []} "401": application/json: {"errors": []} - "200": {} + "200": + application/json: {"MediaContainer": {"MediaProvider": [{"Feature": [{"type": "", "flavor": "global", "scrobbleKey": "/:/scrobble/new", "unscrobbleKey": "/:/unscrobble/new", "Action": []}, {"type": "", "flavor": "global", "scrobbleKey": "/:/scrobble/new", "unscrobbleKey": "/:/unscrobble/new", "Action": [{"id": "addToContinueWatching", "key": "/actions/addToContinueWatching"}, {"id": "addToContinueWatching", "key": "/actions/addToContinueWatching"}]}, {"type": "", "flavor": "global", "scrobbleKey": "/:/scrobble/new", "unscrobbleKey": "/:/unscrobble/new", "Action": [{"id": "addToContinueWatching", "key": "/actions/addToContinueWatching"}, {"id": "addToContinueWatching", "key": "/actions/addToContinueWatching"}]}]}]}} getServerList: speakeasy-default-get-server-list: responses: @@ -2111,7 +2134,7 @@ examples: X-Plex-Container-Size: 50 responses: "200": - application/json: {"MediaContainer": {"size": 70, "allowSync": true, "art": "/:/resources/movie-fanart.jpg", "identifier": "com.plexapp.plugins.library", "librarySectionID": "", "librarySectionTitle": "Movies", "librarySectionUUID": "322a231a-b7f7-49f5-920f-14c61199cd30", "mediaTagPrefix": "/system/bundle/media/flags/", "mediaTagVersion": 1701731894, "thumb": "/:/resources/movie.png", "title1": "Movies", "title2": "Recently Released", "viewGroup": "movie", "viewMode": 65592, "mixedParents": true, "Metadata": [{"ratingKey": "58683", "key": "/library/metadata/58683", "guid": "plex://movie/5d7768ba96b655001fdc0408", "studio": "20th Century Studios", "type": "movie", "title": "Avatar: The Way of Water", "contentRating": "PG-13", "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.", "rating": 7.6, "audienceRating": 9.2, "year": 2022, "tagline": "Return to Pandora.", "thumb": "/library/metadata/58683/thumb/1703239236", "art": "/library/metadata/58683/art/1703239236", "duration": 11558112, "originallyAvailableAt": "2022-12-14T00:00:00Z", "addedAt": 1680457607, "updatedAt": 1703239236, "audienceRatingImage": "rottentomatoes://image.rating.upright", "chapterSource": "media", "primaryExtraKey": "/library/metadata/58684", "ratingImage": "rottentomatoes://image.rating.ripe", "grandparentRatingKey": "66", "grandparentGuid": "plex://show/5d9c081b170e24001f2a7be4", "grandparentKey": "/library/metadata/66", "grandparentTitle": "Caprica", "grandparentThumb": "/library/metadata/66/thumb/1705716261", "grandparentArt": "/library/metadata/66/art/1705716261", "grandparentTheme": "/library/metadata/66/theme/1705716261", "Media": [{"id": 119534, "duration": 11558112, "bitrate": 25025, "width": 3840, "height": 2072, "aspectRatio": 1.85, "audioChannels": 6, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "Part": [{"id": 119542, "key": "/library/parts/119542/1680457526/file.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", "size": 36158371307, "container": "mkv", "videoProfile": "main 10"}, {"id": 119542, "key": "/library/parts/119542/1680457526/file.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", "size": 36158371307, "container": "mkv", "videoProfile": "main 10"}, {"id": 119542, "key": "/library/parts/119542/1680457526/file.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", "size": 36158371307, "container": "mkv", "videoProfile": "main 10"}]}], "Genre": [{"tag": "Adventure"}, {"tag": "Adventure"}, {"tag": "Adventure"}], "Country": [{"tag": "United States of America"}, {"tag": "United States of America"}], "Director": [{"tag": "James Cameron"}, {"tag": "James Cameron"}], "Writer": [{"tag": "James Cameron"}], "Role": [{"tag": "Sigourney Weaver"}, {"tag": "Sigourney Weaver"}, {"tag": "Sigourney Weaver"}], "Guid": [{"id": "imdb://tt13015952"}], "titleSort": "Whale", "viewCount": 1, "lastViewedAt": 1682752242, "originalTitle": "映画 ブラッククローバー 魔法帝の剣", "viewOffset": 5222500, "skipCount": 1, "index": 1, "theme": "/library/metadata/1/theme/1705636920", "leafCount": 14, "viewedLeafCount": 0, "childCount": 1, "hasPremiumExtras": "1", "hasPremiumPrimaryExtra": "1", "parentRatingKey": "66", "parentGuid": "plex://show/5d9c081b170e24001f2a7be4", "parentStudio": "UCP", "parentKey": "/library/metadata/66", "parentTitle": "Caprica", "parentIndex": 1, "parentYear": 2010, "parentThumb": "/library/metadata/66/thumb/1705716261", "parentTheme": "/library/metadata/66/theme/1705716261"}, {"ratingKey": "58683", "key": "/library/metadata/58683", "guid": "plex://movie/5d7768ba96b655001fdc0408", "studio": "20th Century Studios", "type": "movie", "title": "Avatar: The Way of Water", "contentRating": "PG-13", "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.", "rating": 7.6, "audienceRating": 9.2, "year": 2022, "tagline": "Return to Pandora.", "thumb": "/library/metadata/58683/thumb/1703239236", "art": "/library/metadata/58683/art/1703239236", "duration": 11558112, "originallyAvailableAt": "2022-12-14T00:00:00Z", "addedAt": 1680457607, "updatedAt": 1703239236, "audienceRatingImage": "rottentomatoes://image.rating.upright", "chapterSource": "media", "primaryExtraKey": "/library/metadata/58684", "ratingImage": "rottentomatoes://image.rating.ripe", "grandparentRatingKey": "66", "grandparentGuid": "plex://show/5d9c081b170e24001f2a7be4", "grandparentKey": "/library/metadata/66", "grandparentTitle": "Caprica", "grandparentThumb": "/library/metadata/66/thumb/1705716261", "grandparentArt": "/library/metadata/66/art/1705716261", "grandparentTheme": "/library/metadata/66/theme/1705716261", "Media": [{"id": 119534, "duration": 11558112, "bitrate": 25025, "width": 3840, "height": 2072, "aspectRatio": 1.85, "audioChannels": 6, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "Part": [{"id": 119542, "key": "/library/parts/119542/1680457526/file.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", "size": 36158371307, "container": "mkv", "videoProfile": "main 10"}]}], "Genre": [], "Country": [{"tag": "United States of America"}], "Director": [{"tag": "James Cameron"}, {"tag": "James Cameron"}, {"tag": "James Cameron"}], "Writer": [{"tag": "James Cameron"}], "Role": [{"tag": "Sigourney Weaver"}, {"tag": "Sigourney Weaver"}, {"tag": "Sigourney Weaver"}], "Guid": [{"id": "imdb://tt13015952"}], "titleSort": "Whale", "viewCount": 1, "lastViewedAt": 1682752242, "originalTitle": "映画 ブラッククローバー 魔法帝の剣", "viewOffset": 5222500, "skipCount": 1, "index": 1, "theme": "/library/metadata/1/theme/1705636920", "leafCount": 14, "viewedLeafCount": 0, "childCount": 1, "hasPremiumExtras": "1", "hasPremiumPrimaryExtra": "1", "parentRatingKey": "66", "parentGuid": "plex://show/5d9c081b170e24001f2a7be4", "parentStudio": "UCP", "parentKey": "/library/metadata/66", "parentTitle": "Caprica", "parentIndex": 1, "parentYear": 2010, "parentThumb": "/library/metadata/66/thumb/1705716261", "parentTheme": "/library/metadata/66/theme/1705716261"}], "Meta": {"Type": [{"key": "/library/sections/2/all?type=2", "type": "show", "title": "TV Shows", "active": false, "Filter": [], "Sort": [], "Field": [{"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}]}, {"key": "/library/sections/2/all?type=2", "type": "show", "title": "TV Shows", "active": false, "Filter": [{"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter"}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter"}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter"}], "Sort": [], "Field": [{"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}]}], "FieldType": [{"type": "tag", "Operator": [{"key": "=", "title": "is"}]}, {"type": "tag", "Operator": [{"key": "=", "title": "is"}, {"key": "=", "title": "is"}]}, {"type": "tag", "Operator": [{"key": "=", "title": "is"}, {"key": "=", "title": "is"}]}]}}} + application/json: {"MediaContainer": {"size": 70, "totalSize": 170, "offset": 0, "content": "secondary", "allowSync": true, "nocache": true, "art": "/:/resources/movie-fanart.jpg", "identifier": "com.plexapp.plugins.library", "librarySectionID": "", "librarySectionTitle": "Movies", "librarySectionUUID": "322a231a-b7f7-49f5-920f-14c61199cd30", "mediaTagPrefix": "/system/bundle/media/flags/", "mediaTagVersion": 1701731894, "thumb": "/:/resources/movie.png", "title1": "Movies", "title2": "Recently Released", "viewGroup": "movie", "viewMode": 65592, "mixedParents": true, "Metadata": [{"ratingKey": "58683", "key": "/library/metadata/58683", "guid": "plex://movie/5d7768ba96b655001fdc0408", "studio": "20th Century Studios", "skipChildren": false, "type": "movie", "title": "Avatar: The Way of Water", "slug": "4-for-texas", "contentRating": "PG-13", "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.", "rating": 7.6, "audienceRating": 9.2, "year": 2022, "seasonCount": 2022, "tagline": "Return to Pandora.", "flattenSeasons": "1", "showOrdering": "dvd", "thumb": "/library/metadata/58683/thumb/1703239236", "art": "/library/metadata/58683/art/1703239236", "banner": "/library/metadata/58683/banner/1703239236", "duration": 11558112, "originallyAvailableAt": "2022-12-14T00:00:00Z", "addedAt": 1556281940, "updatedAt": 1556281940, "audienceRatingImage": "rottentomatoes://image.rating.upright", "chapterSource": "media", "primaryExtraKey": "/library/metadata/58684", "ratingImage": "rottentomatoes://image.rating.ripe", "grandparentRatingKey": "66", "grandparentGuid": "plex://show/5d9c081b170e24001f2a7be4", "grandparentKey": "/library/metadata/66", "grandparentTitle": "Caprica", "grandparentThumb": "/library/metadata/66/thumb/1705716261", "grandparentSlug": "alice-in-borderland-2020", "grandparentArt": "/library/metadata/66/art/1705716261", "grandparentTheme": "/library/metadata/66/theme/1705716261", "Media": [{"id": 119534, "duration": 11558112, "bitrate": 25025, "width": 3840, "height": 2072, "aspectRatio": 1.85, "audioProfile": "dts", "audioChannels": 6, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "Part": [{"id": 119542, "key": "/library/parts/119542/1680457526/file.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", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "1"}, {"id": 119542, "key": "/library/parts/119542/1680457526/file.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", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "1"}, {"id": 119542, "key": "/library/parts/119542/1680457526/file.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", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "1"}]}], "Genre": [{"tag": "Adventure"}, {"tag": "Adventure"}, {"tag": "Adventure"}], "Country": [{"tag": "United States of America"}, {"tag": "United States of America"}], "Director": [{"tag": "James Cameron"}, {"tag": "James Cameron"}], "Writer": [{"tag": "James Cameron"}], "Collection": [{"tag": "Working NL Subs"}], "Role": [{"tag": "Sigourney Weaver"}, {"tag": "Sigourney Weaver"}, {"tag": "Sigourney Weaver"}], "Guid": [{"id": "imdb://tt13015952"}], "UltraBlurColors": {"topLeft": "11333b", "topRight": "0a232d", "bottomRight": "73958", "bottomLeft": "1f5066"}, "Image": [{"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}, {"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}], "titleSort": "Whale", "viewCount": 1, "lastViewedAt": 1682752242, "originalTitle": "映画 ブラッククローバー 魔法帝の剣", "viewOffset": 5222500, "skipCount": 1, "index": 1, "theme": "/library/metadata/1/theme/1705636920", "leafCount": 14, "viewedLeafCount": 0, "childCount": 1, "hasPremiumExtras": "1", "hasPremiumPrimaryExtra": "1", "parentRatingKey": "66", "parentGuid": "plex://show/5d9c081b170e24001f2a7be4", "parentStudio": "UCP", "parentKey": "/library/metadata/66", "parentTitle": "Caprica", "parentIndex": 1, "parentYear": 2010, "parentThumb": "/library/metadata/66/thumb/1705716261", "parentTheme": "/library/metadata/66/theme/1705716261"}, {"ratingKey": "58683", "key": "/library/metadata/58683", "guid": "plex://movie/5d7768ba96b655001fdc0408", "studio": "20th Century Studios", "skipChildren": false, "type": "movie", "title": "Avatar: The Way of Water", "slug": "4-for-texas", "contentRating": "PG-13", "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.", "rating": 7.6, "audienceRating": 9.2, "year": 2022, "seasonCount": 2022, "tagline": "Return to Pandora.", "flattenSeasons": "1", "showOrdering": "dvd", "thumb": "/library/metadata/58683/thumb/1703239236", "art": "/library/metadata/58683/art/1703239236", "banner": "/library/metadata/58683/banner/1703239236", "duration": 11558112, "originallyAvailableAt": "2022-12-14T00:00:00Z", "addedAt": 1556281940, "updatedAt": 1556281940, "audienceRatingImage": "rottentomatoes://image.rating.upright", "chapterSource": "media", "primaryExtraKey": "/library/metadata/58684", "ratingImage": "rottentomatoes://image.rating.ripe", "grandparentRatingKey": "66", "grandparentGuid": "plex://show/5d9c081b170e24001f2a7be4", "grandparentKey": "/library/metadata/66", "grandparentTitle": "Caprica", "grandparentThumb": "/library/metadata/66/thumb/1705716261", "grandparentSlug": "alice-in-borderland-2020", "grandparentArt": "/library/metadata/66/art/1705716261", "grandparentTheme": "/library/metadata/66/theme/1705716261", "Media": [{"id": 119534, "duration": 11558112, "bitrate": 25025, "width": 3840, "height": 2072, "aspectRatio": 1.85, "audioProfile": "dts", "audioChannels": 6, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "Part": [{"id": 119542, "key": "/library/parts/119542/1680457526/file.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", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "1"}]}], "Genre": [], "Country": [{"tag": "United States of America"}], "Director": [{"tag": "James Cameron"}, {"tag": "James Cameron"}, {"tag": "James Cameron"}], "Writer": [{"tag": "James Cameron"}], "Collection": [{"tag": "Working NL Subs"}, {"tag": "Working NL Subs"}], "Role": [{"tag": "Sigourney Weaver"}, {"tag": "Sigourney Weaver"}, {"tag": "Sigourney Weaver"}], "Guid": [{"id": "imdb://tt13015952"}], "UltraBlurColors": {"topLeft": "11333b", "topRight": "0a232d", "bottomRight": "73958", "bottomLeft": "1f5066"}, "Image": [{"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}], "titleSort": "Whale", "viewCount": 1, "lastViewedAt": 1682752242, "originalTitle": "映画 ブラッククローバー 魔法帝の剣", "viewOffset": 5222500, "skipCount": 1, "index": 1, "theme": "/library/metadata/1/theme/1705636920", "leafCount": 14, "viewedLeafCount": 0, "childCount": 1, "hasPremiumExtras": "1", "hasPremiumPrimaryExtra": "1", "parentRatingKey": "66", "parentGuid": "plex://show/5d9c081b170e24001f2a7be4", "parentStudio": "UCP", "parentKey": "/library/metadata/66", "parentTitle": "Caprica", "parentIndex": 1, "parentYear": 2010, "parentThumb": "/library/metadata/66/thumb/1705716261", "parentTheme": "/library/metadata/66/theme/1705716261"}], "Meta": {"Type": [{"key": "/library/sections/2/all?type=2", "type": "show", "title": "TV Shows", "active": false, "Filter": [], "Sort": [], "Field": [{"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}]}, {"key": "/library/sections/2/all?type=2", "type": "show", "title": "TV Shows", "active": false, "Filter": [{"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter"}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter"}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter"}], "Sort": [], "Field": [{"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}]}], "FieldType": [{"type": "tag", "Operator": [{"key": "=", "title": "is"}]}, {"type": "tag", "Operator": [{"key": "=", "title": "is"}, {"key": "=", "title": "is"}]}, {"type": "tag", "Operator": [{"key": "=", "title": "is"}, {"key": "=", "title": "is"}]}]}}} "400": application/json: {"errors": [{"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}]} "401": @@ -2392,7 +2415,7 @@ examples: speakeasy-default-get-token-details: responses: "200": - application/json: {"adsConsent": true, "adsConsentReminderAt": "2019-08-24T14:15:22Z", "adsConsentSetAt": "2019-08-24T14:15:22Z", "anonymous": false, "authToken": "CxoUzBTSV5hsxjTpFKaf", "backupCodesCreated": false, "confirmed": false, "country": "US", "email": "username@email.com", "emailOnlyAuth": false, "experimentalFeatures": false, "friendlyName": "friendlyUsername", "entitlements": ["[]"], "guest": false, "hasPassword": true, "home": false, "homeAdmin": false, "homeSize": 1, "id": 13692262, "joinedAt": 1556281940, "locale": null, "mailingListActive": false, "mailingListStatus": "unsubscribed", "maxHomeSize": 15, "pin": "string", "profile": {"autoSelectAudio": true, "defaultAudioLanguage": "ja", "defaultSubtitleLanguage": "en", "autoSelectSubtitle": 1, "defaultSubtitleAccessibility": 1, "defaultSubtitleForced": 1, "watchedIndicator": 1, "mediaReviewsVisibility": 1}, "protected": false, "rememberExpiresAt": 1556281940, "restricted": false, "roles": ["string"], "scrobbleTypes": "", "services": [{"identifier": "metadata-dev", "endpoint": "https://epg.provider.plex.tv", "token": "DjoMtqFAGRL1uVtCyF1dKIorTbShJeqv", "secret": "string", "status": "online"}], "subscription": {"features": ["Android - Dolby Vision"], "active": true, "subscribedAt": "2021-04-12T18:21:12Z", "status": "Inactive", "paymentService": "string", "plan": "string"}, "subscriptionDescription": "string", "subscriptions": [{"features": ["Android - Dolby Vision"], "active": true, "subscribedAt": "2021-04-12T18:21:12Z", "status": "Inactive", "paymentService": "string", "plan": "string"}], "thumb": "https://plex.tv/users/a4f43c1ebfde43a5/avatar?c=8372075101", "title": "UsernameTitle", "twoFactorEnabled": false, "username": "Username", "uuid": "dae343c1f45beb4f"} + application/json: {"adsConsent": true, "adsConsentReminderAt": "2019-08-24T14:15:22Z", "adsConsentSetAt": "2019-08-24T14:15:22Z", "anonymous": false, "authToken": "CxoUzBTSV5hsxjTpFKaf", "backupCodesCreated": false, "confirmed": false, "country": "US", "email": "username@email.com", "emailOnlyAuth": false, "experimentalFeatures": false, "friendlyName": "friendlyUsername", "entitlements": ["[]"], "guest": false, "hasPassword": true, "home": false, "homeAdmin": false, "homeSize": 1, "id": 13692262, "joinedAt": 1556281940, "locale": null, "mailingListActive": false, "mailingListStatus": "unsubscribed", "maxHomeSize": 15, "pin": "string", "profile": {"autoSelectAudio": true, "defaultAudioLanguage": "ja", "defaultSubtitleLanguage": "en", "autoSelectSubtitle": 1, "defaultSubtitleAccessibility": 1, "defaultSubtitleForced": 1, "watchedIndicator": 1, "mediaReviewsVisibility": 1}, "protected": false, "rememberExpiresAt": 1556281940, "restricted": false, "roles": ["string"], "scrobbleTypes": "", "services": [{"identifier": "metadata-dev", "endpoint": "https://epg.provider.plex.tv", "token": "DjoMtqFAGRL1uVtCyF1dKIorTbShJeqv", "secret": "string", "status": "online"}], "subscription": {"features": ["Android - Dolby Vision"], "active": true, "subscribedAt": "2021-04-12T18:21:12Z", "status": "Inactive", "paymentService": "string", "plan": "string"}, "subscriptionDescription": "string", "subscriptions": [{"features": ["Android - Dolby Vision"], "active": true, "subscribedAt": "2021-04-12T18:21:12Z", "status": "Inactive", "paymentService": "string", "plan": "string"}], "thumb": "https://plex.tv/users/a4f43c1ebfde43a5/avatar?c=8372075101", "title": "UsernameTitle", "twoFactorEnabled": false, "username": "Username", "uuid": "dae343c1f45beb4f", "attributionPartner": null} "400": application/json: {"errors": []} "401": @@ -2403,7 +2426,7 @@ examples: application/x-www-form-urlencoded: {"login": "username@email.com", "password": "password123", "verificationCode": "123456"} responses: "201": - application/json: {"adsConsent": true, "adsConsentReminderAt": "2019-08-24T14:15:22Z", "adsConsentSetAt": "2019-08-24T14:15:22Z", "anonymous": false, "authToken": "CxoUzBTSV5hsxjTpFKaf", "backupCodesCreated": false, "confirmed": false, "country": "US", "email": "username@email.com", "emailOnlyAuth": false, "experimentalFeatures": false, "friendlyName": "friendlyUsername", "entitlements": ["[]"], "guest": false, "hasPassword": true, "home": false, "homeAdmin": false, "homeSize": 1, "id": 13692262, "joinedAt": 1556281940, "locale": null, "mailingListActive": false, "mailingListStatus": "unsubscribed", "maxHomeSize": 15, "pin": "string", "profile": {"autoSelectAudio": true, "defaultAudioLanguage": "ja", "defaultSubtitleLanguage": "en", "autoSelectSubtitle": 1, "defaultSubtitleAccessibility": 1, "defaultSubtitleForced": 1, "watchedIndicator": 1, "mediaReviewsVisibility": 1}, "protected": false, "rememberExpiresAt": 1556281940, "restricted": false, "roles": ["string"], "scrobbleTypes": "", "services": [{"identifier": "metadata-dev", "endpoint": "https://epg.provider.plex.tv", "token": "DjoMtqFAGRL1uVtCyF1dKIorTbShJeqv", "secret": "string", "status": "online"}], "subscription": {"features": ["Android - Dolby Vision"], "active": true, "subscribedAt": "2021-04-12T18:21:12Z", "status": "Inactive", "paymentService": "string", "plan": "string"}, "subscriptionDescription": "string", "subscriptions": [{"features": ["Android - Dolby Vision"], "active": true, "subscribedAt": "2021-04-12T18:21:12Z", "status": "Inactive", "paymentService": "string", "plan": "string"}], "thumb": "https://plex.tv/users/a4f43c1ebfde43a5/avatar?c=8372075101", "title": "UsernameTitle", "twoFactorEnabled": false, "username": "Username", "uuid": "dae343c1f45beb4f", "pastSubscriptions": [{"id": "string", "mode": "string", "renewsAt": 1556281940, "endsAt": 1556281940, "canceled": false, "gracePeriod": false, "onHold": false, "canReactivate": false, "canUpgrade": false, "canDowngrade": false, "canConvert": false, "type": "plexpass", "transfer": "string", "state": "ended", "billing": {"paymentMethodId": 481656}}], "trials": [{}]} + application/json: {"adsConsent": true, "adsConsentReminderAt": "2019-08-24T14:15:22Z", "adsConsentSetAt": "2019-08-24T14:15:22Z", "anonymous": false, "authToken": "CxoUzBTSV5hsxjTpFKaf", "backupCodesCreated": false, "confirmed": false, "country": "US", "email": "username@email.com", "emailOnlyAuth": false, "experimentalFeatures": false, "friendlyName": "friendlyUsername", "entitlements": ["[]"], "guest": false, "hasPassword": true, "home": false, "homeAdmin": false, "homeSize": 1, "id": 13692262, "joinedAt": 1556281940, "locale": null, "mailingListActive": false, "mailingListStatus": "unsubscribed", "maxHomeSize": 15, "pin": "string", "profile": {"autoSelectAudio": true, "defaultAudioLanguage": "ja", "defaultSubtitleLanguage": "en", "autoSelectSubtitle": 1, "defaultSubtitleAccessibility": 1, "defaultSubtitleForced": 1, "watchedIndicator": 1, "mediaReviewsVisibility": 1}, "protected": false, "rememberExpiresAt": 1556281940, "restricted": false, "roles": ["string"], "scrobbleTypes": "", "services": [{"identifier": "metadata-dev", "endpoint": "https://epg.provider.plex.tv", "token": "DjoMtqFAGRL1uVtCyF1dKIorTbShJeqv", "secret": "string", "status": "online"}], "subscription": {"features": ["Android - Dolby Vision"], "active": true, "subscribedAt": "2021-04-12T18:21:12Z", "status": "Inactive", "paymentService": "string", "plan": "string"}, "subscriptionDescription": "string", "subscriptions": [{"features": ["Android - Dolby Vision"], "active": true, "subscribedAt": "2021-04-12T18:21:12Z", "status": "Inactive", "paymentService": "string", "plan": "string"}], "thumb": "https://plex.tv/users/a4f43c1ebfde43a5/avatar?c=8372075101", "title": "UsernameTitle", "twoFactorEnabled": false, "username": "Username", "uuid": "dae343c1f45beb4f", "attributionPartner": null, "pastSubscriptions": [{"id": "string", "mode": "string", "renewsAt": 1556281940, "endsAt": 1556281940, "canceled": false, "gracePeriod": false, "onHold": false, "canReactivate": false, "canUpgrade": false, "canDowngrade": false, "canConvert": false, "type": "plexpass", "transfer": "string", "state": "ended", "billing": {"paymentMethodId": 481656}}], "trials": [{}]} "400": application/json: {"errors": []} "401": diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index b2c8bf4..d76a016 100644 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -12,7 +12,7 @@ generation: auth: oAuth2ClientCredentialsEnabled: false php: - version: 0.9.0 + version: 0.9.1 clientServerStatusCodesAsErrors: true flattenGlobalSecurity: true imports: diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index 94b39b1..ca2d1b2 100644 --- a/.speakeasy/workflow.lock +++ b/.speakeasy/workflow.lock @@ -9,8 +9,8 @@ sources: - main plexapi: sourceNamespace: plexapi - sourceRevisionDigest: sha256:5aa71ad96ca6de91143ee513c9880e08e555e7748fb4b5f8d069c6ab0c8f3069 - sourceBlobDigest: sha256:1cbef844e2856c2eabba4bd6d677d96c572fed13b27978d0d953aa06b224c02f + sourceRevisionDigest: sha256:fc6eebe661455e23b1aa352a91c14ef773fa72331330ec4caeddc2c460dc16bb + sourceBlobDigest: sha256:2e81e86c83d7f4e8842efca0d43a2db84a4932534c8439e3737e1f65c873f855 tags: - latest - main @@ -18,10 +18,10 @@ targets: plexphp: source: plexapi sourceNamespace: plexapi - sourceRevisionDigest: sha256:5aa71ad96ca6de91143ee513c9880e08e555e7748fb4b5f8d069c6ab0c8f3069 - sourceBlobDigest: sha256:1cbef844e2856c2eabba4bd6d677d96c572fed13b27978d0d953aa06b224c02f + sourceRevisionDigest: sha256:fc6eebe661455e23b1aa352a91c14ef773fa72331330ec4caeddc2c460dc16bb + sourceBlobDigest: sha256:2e81e86c83d7f4e8842efca0d43a2db84a4932534c8439e3737e1f65c873f855 codeSamplesNamespace: code-samples-php-plexphp - codeSamplesRevisionDigest: sha256:31c36f98b0d052576648992aa27009ef7e202960cecc266347879d0f7cb26855 + codeSamplesRevisionDigest: sha256:2aef293ad566ab27122b647acfe022f3b6c648d564d9c05f6a8a7951841e4c8f workflow: workflowVersion: 1.0.0 speakeasyVersion: latest diff --git a/RELEASES.md b/RELEASES.md index 194b660..82ee5ac 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -612,4 +612,14 @@ Based on: ### Generated - [php v0.9.0] . ### Releases -- [Composer v0.9.0] https://packagist.org/packages/lukehagar/plex-api#v0.9.0 - . \ No newline at end of file +- [Composer v0.9.0] https://packagist.org/packages/lukehagar/plex-api#v0.9.0 - . + +## 2024-09-22 00:11:03 +### Changes +Based on: +- OpenAPI Doc +- Speakeasy CLI 1.401.2 (2.421.3) https://github.com/speakeasy-api/speakeasy +### Generated +- [php v0.9.1] . +### Releases +- [Composer v0.9.1] https://packagist.org/packages/lukehagar/plex-api#v0.9.1 - . \ No newline at end of file diff --git a/codeSamples.yaml b/codeSamples.yaml index 081d384..694fc4e 100644 --- a/codeSamples.yaml +++ b/codeSamples.yaml @@ -864,7 +864,7 @@ actions: try { - $response = $sdk->library->getTopWatchedContent(Operations\GetTopWatchedContentQueryParamType::Show, 1); + $response = $sdk->library->getTopWatchedContent(Operations\GetTopWatchedContentQueryParamType::TvShow, 1); if ($response->object !== null) { // handle response @@ -1342,7 +1342,7 @@ actions: try { - $response = $sdk->library->getSearchLibrary(9518, Operations\QueryParamType::Show); + $response = $sdk->library->getSearchLibrary(9518, Operations\QueryParamType::TvShow); if ($response->object !== null) { // handle response @@ -1382,7 +1382,7 @@ actions: tag: Operations\Tag::Edition, includeGuids: Operations\IncludeGuids::Enable, includeMeta: Operations\IncludeMeta::Enable, - type: Operations\Type::Show, + type: Operations\Type::TvShow, xPlexContainerStart: 0, xPlexContainerSize: 50, ); @@ -1956,7 +1956,7 @@ actions: try { - $response = $sdk->playlists->getPlaylistContents(5004.46, Operations\GetPlaylistContentsQueryParamType::Show); + $response = $sdk->playlists->getPlaylistContents(5004.46, Operations\GetPlaylistContentsQueryParamType::TvShow); if ($response->object !== null) { // handle response diff --git a/docs/Models/Operations/Action.md b/docs/Models/Operations/Action.md new file mode 100644 index 0000000..4c3531e --- /dev/null +++ b/docs/Models/Operations/Action.md @@ -0,0 +1,9 @@ +# Action + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------ | ------------------------------ | ------------------------------ | ------------------------------ | ------------------------------ | +| `id` | *string* | :heavy_check_mark: | N/A | addToContinueWatching | +| `key` | *string* | :heavy_check_mark: | N/A | /actions/addToContinueWatching | \ No newline at end of file diff --git a/docs/Models/Operations/ActiveDirection.md b/docs/Models/Operations/ActiveDirection.md new file mode 100644 index 0000000..0b96d97 --- /dev/null +++ b/docs/Models/Operations/ActiveDirection.md @@ -0,0 +1,12 @@ +# ActiveDirection + +The direction of the sort. Can be either `asc` or `desc`. + + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `Ascending` | asc | +| `Descending` | desc | \ No newline at end of file diff --git a/docs/Models/Operations/Collection.md b/docs/Models/Operations/Collection.md new file mode 100644 index 0000000..d4a27a3 --- /dev/null +++ b/docs/Models/Operations/Collection.md @@ -0,0 +1,8 @@ +# Collection + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | +| `tag` | *?string* | :heavy_minus_sign: | N/A | Working NL Subs | \ No newline at end of file diff --git a/docs/Models/Operations/DefaultDirection.md b/docs/Models/Operations/DefaultDirection.md new file mode 100644 index 0000000..f0d9651 --- /dev/null +++ b/docs/Models/Operations/DefaultDirection.md @@ -0,0 +1,12 @@ +# DefaultDirection + +The direction of the sort. Can be either `asc` or `desc`. + + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `Ascending` | asc | +| `Descending` | desc | \ No newline at end of file diff --git a/docs/Models/Operations/Feature.md b/docs/Models/Operations/Feature.md index 946a26d..2878187 100644 --- a/docs/Models/Operations/Feature.md +++ b/docs/Models/Operations/Feature.md @@ -3,8 +3,12 @@ ## Fields -| Field | Type | Required | Description | -| ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | -| `key` | *?string* | :heavy_minus_sign: | N/A | -| `type` | *?string* | :heavy_minus_sign: | N/A | -| `directory` | array<[Operations\GetMediaProvidersDirectory](../../Models/Operations/GetMediaProvidersDirectory.md)> | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | +| `type` | *string* | :heavy_check_mark: | N/A | | +| `key` | *?string* | :heavy_minus_sign: | N/A | | +| `flavor` | *?string* | :heavy_minus_sign: | N/A | global | +| `scrobbleKey` | *?string* | :heavy_minus_sign: | N/A | /:/scrobble/new | +| `unscrobbleKey` | *?string* | :heavy_minus_sign: | N/A | /:/unscrobble/new | +| `directory` | array<[Operations\GetMediaProvidersDirectory](../../Models/Operations/GetMediaProvidersDirectory.md)> | :heavy_minus_sign: | N/A | | +| `action` | array<[Operations\Action](../../Models/Operations/Action.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/Models/Operations/FlattenSeasons.md b/docs/Models/Operations/FlattenSeasons.md new file mode 100644 index 0000000..19e3014 --- /dev/null +++ b/docs/Models/Operations/FlattenSeasons.md @@ -0,0 +1,9 @@ +# FlattenSeasons + + +## Values + +| Name | Value | +| ------- | ------- | +| `False` | 0 | +| `True` | 1 | \ No newline at end of file diff --git a/docs/Models/Operations/GetLibraryItemsImage.md b/docs/Models/Operations/GetLibraryItemsImage.md new file mode 100644 index 0000000..38e1b0f --- /dev/null +++ b/docs/Models/Operations/GetLibraryItemsImage.md @@ -0,0 +1,10 @@ +# GetLibraryItemsImage + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | +| `alt` | *string* | :heavy_check_mark: | N/A | Episode 1 | +| `type` | [Operations\GetLibraryItemsLibraryResponseType](../../Models/Operations/GetLibraryItemsLibraryResponseType.md) | :heavy_check_mark: | N/A | background | +| `url` | *string* | :heavy_check_mark: | N/A | /library/metadata/45521/thumb/1644710589 | \ No newline at end of file diff --git a/docs/Models/Operations/GetLibraryItemsLibraryResponseType.md b/docs/Models/Operations/GetLibraryItemsLibraryResponseType.md new file mode 100644 index 0000000..c74a08a --- /dev/null +++ b/docs/Models/Operations/GetLibraryItemsLibraryResponseType.md @@ -0,0 +1,11 @@ +# GetLibraryItemsLibraryResponseType + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `CoverPoster` | coverPoster | +| `Background` | background | +| `Snapshot` | snapshot | +| `ClearLogo` | clearLogo | \ No newline at end of file diff --git a/docs/Models/Operations/GetLibraryItemsLibraryType.md b/docs/Models/Operations/GetLibraryItemsLibraryType.md new file mode 100644 index 0000000..08d355e --- /dev/null +++ b/docs/Models/Operations/GetLibraryItemsLibraryType.md @@ -0,0 +1,14 @@ +# GetLibraryItemsLibraryType + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | +| `key` | *string* | :heavy_check_mark: | N/A | /library/sections/2/all?type=2 | +| `type` | *string* | :heavy_check_mark: | N/A | show | +| `title` | *string* | :heavy_check_mark: | N/A | TV Shows | +| `active` | *bool* | :heavy_check_mark: | N/A | false | +| `filter` | array<[Operations\GetLibraryItemsFilter](../../Models/Operations/GetLibraryItemsFilter.md)> | :heavy_minus_sign: | N/A | | +| `sort` | array<[Operations\GetLibraryItemsSort](../../Models/Operations/GetLibraryItemsSort.md)> | :heavy_minus_sign: | N/A | | +| `field` | array<[Operations\GetLibraryItemsField](../../Models/Operations/GetLibraryItemsField.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/Models/Operations/GetLibraryItemsMedia.md b/docs/Models/Operations/GetLibraryItemsMedia.md index 0a207b8..cca5874 100644 --- a/docs/Models/Operations/GetLibraryItemsMedia.md +++ b/docs/Models/Operations/GetLibraryItemsMedia.md @@ -5,17 +5,19 @@ | 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` | *?float* | :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` | array<[Operations\GetLibraryItemsPart](../../Models/Operations/GetLibraryItemsPart.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file +| `id` | *int* | :heavy_check_mark: | N/A | 119534 | +| `duration` | *int* | :heavy_check_mark: | N/A | 11558112 | +| `bitrate` | *int* | :heavy_check_mark: | N/A | 25025 | +| `width` | *int* | :heavy_check_mark: | N/A | 3840 | +| `height` | *int* | :heavy_check_mark: | N/A | 2072 | +| `aspectRatio` | *float* | :heavy_check_mark: | N/A | 1.85 | +| `audioChannels` | *int* | :heavy_check_mark: | N/A | 6 | +| `audioCodec` | *string* | :heavy_check_mark: | N/A | eac3 | +| `videoCodec` | *string* | :heavy_check_mark: | N/A | hevc | +| `videoResolution` | *string* | :heavy_check_mark: | N/A | 4k | +| `container` | *string* | :heavy_check_mark: | N/A | mkv | +| `videoFrameRate` | *string* | :heavy_check_mark: | N/A | 24p | +| `videoProfile` | *string* | :heavy_check_mark: | N/A | main 10 | +| `part` | array<[Operations\GetLibraryItemsPart](../../Models/Operations/GetLibraryItemsPart.md)> | :heavy_check_mark: | N/A | | +| `audioProfile` | *?string* | :heavy_minus_sign: | N/A | dts | +| `hasVoiceActivity` | *?bool* | :heavy_minus_sign: | N/A | false | \ No newline at end of file diff --git a/docs/Models/Operations/GetLibraryItemsMediaContainer.md b/docs/Models/Operations/GetLibraryItemsMediaContainer.md index 332726f..6bc7144 100644 --- a/docs/Models/Operations/GetLibraryItemsMediaContainer.md +++ b/docs/Models/Operations/GetLibraryItemsMediaContainer.md @@ -6,6 +6,9 @@ | Field | Type | Required | Description | Example | | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | | `size` | *int* | :heavy_check_mark: | N/A | 70 | +| `totalSize` | *int* | :heavy_check_mark: | N/A | 170 | +| `offset` | *int* | :heavy_check_mark: | N/A | 0 | +| `content` | *string* | :heavy_check_mark: | N/A | secondary | | `allowSync` | *bool* | :heavy_check_mark: | N/A | true | | `art` | *string* | :heavy_check_mark: | N/A | /:/resources/movie-fanart.jpg | | `identifier` | *string* | :heavy_check_mark: | N/A | com.plexapp.plugins.library | @@ -18,7 +21,8 @@ | `title1` | *string* | :heavy_check_mark: | N/A | Movies | | `title2` | *string* | :heavy_check_mark: | N/A | Recently Released | | `viewGroup` | *string* | :heavy_check_mark: | N/A | movie | +| `metadata` | array<[Operations\GetLibraryItemsMetadata](../../Models/Operations/GetLibraryItemsMetadata.md)> | :heavy_check_mark: | N/A | | +| `nocache` | *?bool* | :heavy_minus_sign: | N/A | true | | `viewMode` | *?int* | :heavy_minus_sign: | N/A | 65592 | | `mixedParents` | *?bool* | :heavy_minus_sign: | N/A | true | -| `metadata` | array<[Operations\GetLibraryItemsMetadata](../../Models/Operations/GetLibraryItemsMetadata.md)> | :heavy_minus_sign: | N/A | | | `meta` | [?Operations\Meta](../../Models/Operations/Meta.md) | :heavy_minus_sign: | The Meta object is only included in the response if the `includeMeta` parameter is set to `1`.
| | \ No newline at end of file diff --git a/docs/Models/Operations/GetLibraryItemsMetadata.md b/docs/Models/Operations/GetLibraryItemsMetadata.md index 8086d7f..e7eee0d 100644 --- a/docs/Models/Operations/GetLibraryItemsMetadata.md +++ b/docs/Models/Operations/GetLibraryItemsMetadata.md @@ -5,25 +5,30 @@ | Field | Type | Required | Description | Example | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `ratingKey` | *string* | :heavy_check_mark: | N/A | 58683 | +| `ratingKey` | *string* | :heavy_check_mark: | The rating key (Media ID) of this media item.
Note: This is always an integer, but is represented as a string in the API.
| 58683 | | `key` | *string* | :heavy_check_mark: | N/A | /library/metadata/58683 | | `guid` | *string* | :heavy_check_mark: | N/A | plex://movie/5d7768ba96b655001fdc0408 | -| `type` | *string* | :heavy_check_mark: | N/A | movie | +| `type` | [Operations\GetLibraryItemsType](../../Models/Operations/GetLibraryItemsType.md) | :heavy_check_mark: | The type of media content
| movie | | `title` | *string* | :heavy_check_mark: | N/A | Avatar: The Way of Water | -| `year` | *int* | :heavy_check_mark: | N/A | 2022 | -| `duration` | *int* | :heavy_check_mark: | N/A | 11558112 | -| `media` | array<[Operations\GetLibraryItemsMedia](../../Models/Operations/GetLibraryItemsMedia.md)> | :heavy_check_mark: | N/A | | +| `summary` | *string* | :heavy_check_mark: | N/A | Jake Sully lives with his newfound family formed on the extrasolar moon Pandora. Once a familiar threat returns to finish what was previously started, Jake must work with Neytiri and the army of the Na'vi race to protect their home. | +| `addedAt` | *int* | :heavy_check_mark: | Unix epoch datetime in seconds | 1556281940 | | `studio` | *?string* | :heavy_minus_sign: | N/A | 20th Century Studios | +| `skipChildren` | *?bool* | :heavy_minus_sign: | N/A | false | +| `slug` | *?string* | :heavy_minus_sign: | N/A | 4-for-texas | | `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` | *?float* | :heavy_minus_sign: | N/A | 7.6 | | `audienceRating` | *?float* | :heavy_minus_sign: | N/A | 9.2 | +| `year` | *?int* | :heavy_minus_sign: | N/A | 2022 | +| `seasonCount` | *?int* | :heavy_minus_sign: | N/A | 2022 | | `tagline` | *?string* | :heavy_minus_sign: | N/A | Return to Pandora. | +| `flattenSeasons` | [?Operations\FlattenSeasons](../../Models/Operations/FlattenSeasons.md) | :heavy_minus_sign: | N/A | 1 | +| `showOrdering` | [?Operations\ShowOrdering](../../Models/Operations/ShowOrdering.md) | :heavy_minus_sign: | Setting that indicates the episode ordering for the show
None = Library default,
tmdbAiring = The Movie Database (Aired),
aired = TheTVDB (Aired),
dvd = TheTVDB (DVD),
absolute = TheTVDB (Absolute)).
| dvd | | `thumb` | *?string* | :heavy_minus_sign: | N/A | /library/metadata/58683/thumb/1703239236 | | `art` | *?string* | :heavy_minus_sign: | N/A | /library/metadata/58683/art/1703239236 | +| `banner` | *?string* | :heavy_minus_sign: | N/A | /library/metadata/58683/banner/1703239236 | +| `duration` | *?int* | :heavy_minus_sign: | N/A | 11558112 | | `originallyAvailableAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :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 | +| `updatedAt` | *?int* | :heavy_minus_sign: | Unix epoch datetime in seconds | 1556281940 | | `audienceRatingImage` | *?string* | :heavy_minus_sign: | N/A | rottentomatoes://image.rating.upright | | `chapterSource` | *?string* | :heavy_minus_sign: | N/A | media | | `primaryExtraKey` | *?string* | :heavy_minus_sign: | N/A | /library/metadata/58684 | @@ -33,14 +38,19 @@ | `grandparentKey` | *?string* | :heavy_minus_sign: | N/A | /library/metadata/66 | | `grandparentTitle` | *?string* | :heavy_minus_sign: | N/A | Caprica | | `grandparentThumb` | *?string* | :heavy_minus_sign: | N/A | /library/metadata/66/thumb/1705716261 | +| `grandparentSlug` | *?string* | :heavy_minus_sign: | N/A | alice-in-borderland-2020 | | `grandparentArt` | *?string* | :heavy_minus_sign: | N/A | /library/metadata/66/art/1705716261 | | `grandparentTheme` | *?string* | :heavy_minus_sign: | N/A | /library/metadata/66/theme/1705716261 | +| `media` | array<[Operations\GetLibraryItemsMedia](../../Models/Operations/GetLibraryItemsMedia.md)> | :heavy_minus_sign: | The Media object is only included when type query is `4` or higher.
| | | `genre` | array<[Operations\GetLibraryItemsGenre](../../Models/Operations/GetLibraryItemsGenre.md)> | :heavy_minus_sign: | N/A | | | `country` | array<[Operations\GetLibraryItemsCountry](../../Models/Operations/GetLibraryItemsCountry.md)> | :heavy_minus_sign: | N/A | | | `director` | array<[Operations\GetLibraryItemsDirector](../../Models/Operations/GetLibraryItemsDirector.md)> | :heavy_minus_sign: | N/A | | | `writer` | array<[Operations\GetLibraryItemsWriter](../../Models/Operations/GetLibraryItemsWriter.md)> | :heavy_minus_sign: | N/A | | +| `collection` | array<[Operations\Collection](../../Models/Operations/Collection.md)> | :heavy_minus_sign: | N/A | | | `role` | array<[Operations\GetLibraryItemsRole](../../Models/Operations/GetLibraryItemsRole.md)> | :heavy_minus_sign: | N/A | | | `mediaGuid` | array<[Operations\MediaGuid](../../Models/Operations/MediaGuid.md)> | :heavy_minus_sign: | The Guid object is only included in the response if the `includeGuids` parameter is set to `1`.
| | +| `ultraBlurColors` | [?Operations\UltraBlurColors](../../Models/Operations/UltraBlurColors.md) | :heavy_minus_sign: | N/A | | +| `image` | array<[Operations\GetLibraryItemsImage](../../Models/Operations/GetLibraryItemsImage.md)> | :heavy_minus_sign: | N/A | | | `titleSort` | *?string* | :heavy_minus_sign: | N/A | Whale | | `viewCount` | *?int* | :heavy_minus_sign: | N/A | 1 | | `lastViewedAt` | *?int* | :heavy_minus_sign: | N/A | 1682752242 | @@ -54,7 +64,7 @@ | `childCount` | *?int* | :heavy_minus_sign: | N/A | 1 | | `hasPremiumExtras` | *?string* | :heavy_minus_sign: | N/A | 1 | | `hasPremiumPrimaryExtra` | *?string* | :heavy_minus_sign: | N/A | 1 | -| `parentRatingKey` | *?string* | :heavy_minus_sign: | N/A | 66 | +| `parentRatingKey` | *?string* | :heavy_minus_sign: | The rating key of the parent item.
| 66 | | `parentGuid` | *?string* | :heavy_minus_sign: | N/A | plex://show/5d9c081b170e24001f2a7be4 | | `parentStudio` | *?string* | :heavy_minus_sign: | N/A | UCP | | `parentKey` | *?string* | :heavy_minus_sign: | N/A | /library/metadata/66 | diff --git a/docs/Models/Operations/GetLibraryItemsPart.md b/docs/Models/Operations/GetLibraryItemsPart.md index 1f86481..18cf473 100644 --- a/docs/Models/Operations/GetLibraryItemsPart.md +++ b/docs/Models/Operations/GetLibraryItemsPart.md @@ -5,10 +5,13 @@ | 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` | *?int* | :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 +| `id` | *int* | :heavy_check_mark: | N/A | 119542 | +| `key` | *string* | :heavy_check_mark: | N/A | /library/parts/119542/1680457526/file.mkv | +| `duration` | *int* | :heavy_check_mark: | N/A | 11558112 | +| `file` | *string* | :heavy_check_mark: | N/A | /movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv | +| `size` | *int* | :heavy_check_mark: | N/A | 36158371307 | +| `container` | *string* | :heavy_check_mark: | The container format of the media file.
| mkv | +| `videoProfile` | *string* | :heavy_check_mark: | N/A | main 10 | +| `audioProfile` | *?string* | :heavy_minus_sign: | N/A | dts | +| `indexes` | *?string* | :heavy_minus_sign: | N/A | sd | +| `hasThumbnail` | [?Operations\HasThumbnail](../../Models/Operations/HasThumbnail.md) | :heavy_minus_sign: | N/A | 1 | \ No newline at end of file diff --git a/docs/Models/Operations/GetLibraryItemsRequest.md b/docs/Models/Operations/GetLibraryItemsRequest.md index 34fa1e6..8eb4103 100644 --- a/docs/Models/Operations/GetLibraryItemsRequest.md +++ b/docs/Models/Operations/GetLibraryItemsRequest.md @@ -7,8 +7,8 @@ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `sectionKey` | *int* | :heavy_check_mark: | The unique key of the Plex library.
Note: This is unique in the context of the Plex server.
| 9518 | | `tag` | [Operations\Tag](../../Models/Operations/Tag.md) | :heavy_check_mark: | A key representing a specific tag within the section. | | -| `type` | [Operations\Type](../../Models/Operations/Type.md) | :heavy_check_mark: | The type of media to retrieve.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| 2 | | `includeGuids` | [?Operations\IncludeGuids](../../Models/Operations/IncludeGuids.md) | :heavy_minus_sign: | Adds the Guids object to the response
| 1 | | `includeMeta` | [?Operations\IncludeMeta](../../Models/Operations/IncludeMeta.md) | :heavy_minus_sign: | Adds the Meta object to the response
| 1 | +| `type` | [?Operations\Type](../../Models/Operations/Type.md) | :heavy_minus_sign: | The type of media to retrieve.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| 2 | | `xPlexContainerStart` | *?int* | :heavy_minus_sign: | The index of the first item to return. If not specified, the first item will be returned.
If the number of items exceeds the limit, the response will be paginated.
By default this is 0
| 0 | | `xPlexContainerSize` | *?int* | :heavy_minus_sign: | The number of items to return. If not specified, all items will be returned.
If the number of items exceeds the limit, the response will be paginated.
By default this is 50
| 50 | \ No newline at end of file diff --git a/docs/Models/Operations/GetLibraryItemsSort.md b/docs/Models/Operations/GetLibraryItemsSort.md index ba83686..b91fc66 100644 --- a/docs/Models/Operations/GetLibraryItemsSort.md +++ b/docs/Models/Operations/GetLibraryItemsSort.md @@ -3,11 +3,13 @@ ## Fields -| Field | Type | Required | Description | Example | -| ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- | -| `defaultDirection` | *string* | :heavy_check_mark: | N/A | asc | -| `key` | *string* | :heavy_check_mark: | N/A | titleSort | -| `title` | *string* | :heavy_check_mark: | N/A | Title | -| `default` | *?string* | :heavy_minus_sign: | N/A | asc | -| `descKey` | *?string* | :heavy_minus_sign: | N/A | titleSort:desc | -| `firstCharacterKey` | *?string* | :heavy_minus_sign: | N/A | /library/sections/2/firstCharacter | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | +| `defaultDirection` | [Operations\DefaultDirection](../../Models/Operations/DefaultDirection.md) | :heavy_check_mark: | The direction of the sort. Can be either `asc` or `desc`.
| asc | +| `key` | *string* | :heavy_check_mark: | N/A | titleSort | +| `title` | *string* | :heavy_check_mark: | N/A | Title | +| `default` | *?string* | :heavy_minus_sign: | N/A | asc | +| `active` | *?bool* | :heavy_minus_sign: | N/A | false | +| `activeDirection` | [?Operations\ActiveDirection](../../Models/Operations/ActiveDirection.md) | :heavy_minus_sign: | The direction of the sort. Can be either `asc` or `desc`.
| asc | +| `descKey` | *?string* | :heavy_minus_sign: | N/A | titleSort:desc | +| `firstCharacterKey` | *?string* | :heavy_minus_sign: | N/A | /library/sections/2/firstCharacter | \ No newline at end of file diff --git a/docs/Models/Operations/GetLibraryItemsType.md b/docs/Models/Operations/GetLibraryItemsType.md index bf88298..1888dbf 100644 --- a/docs/Models/Operations/GetLibraryItemsType.md +++ b/docs/Models/Operations/GetLibraryItemsType.md @@ -1,14 +1,14 @@ # GetLibraryItemsType +The type of media content -## Fields -| Field | Type | Required | Description | Example | -| ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | -| `key` | *string* | :heavy_check_mark: | N/A | /library/sections/2/all?type=2 | -| `type` | *string* | :heavy_check_mark: | N/A | show | -| `title` | *string* | :heavy_check_mark: | N/A | TV Shows | -| `active` | *bool* | :heavy_check_mark: | N/A | false | -| `filter` | array<[Operations\GetLibraryItemsFilter](../../Models/Operations/GetLibraryItemsFilter.md)> | :heavy_minus_sign: | N/A | | -| `sort` | array<[Operations\GetLibraryItemsSort](../../Models/Operations/GetLibraryItemsSort.md)> | :heavy_minus_sign: | N/A | | -| `field` | array<[Operations\GetLibraryItemsField](../../Models/Operations/GetLibraryItemsField.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file + +## Values + +| Name | Value | +| --------- | --------- | +| `Movie` | movie | +| `TvShow` | show | +| `Season` | season | +| `Episode` | episode | \ No newline at end of file diff --git a/docs/Models/Operations/GetPlaylistContentsQueryParamType.md b/docs/Models/Operations/GetPlaylistContentsQueryParamType.md index 6aa241f..585fd64 100644 --- a/docs/Models/Operations/GetPlaylistContentsQueryParamType.md +++ b/docs/Models/Operations/GetPlaylistContentsQueryParamType.md @@ -14,6 +14,6 @@ E.g. A movie library will not return anything with type 3 as there are no season | Name | Value | | --------- | --------- | | `Movie` | 1 | -| `Show` | 2 | +| `TvShow` | 2 | | `Season` | 3 | | `Episode` | 4 | \ No newline at end of file diff --git a/docs/Models/Operations/GetTokenDetailsUserPlexAccount.md b/docs/Models/Operations/GetTokenDetailsUserPlexAccount.md index 7e81893..0811766 100644 --- a/docs/Models/Operations/GetTokenDetailsUserPlexAccount.md +++ b/docs/Models/Operations/GetTokenDetailsUserPlexAccount.md @@ -46,4 +46,5 @@ Logged in user details | `locale` | *string* | :heavy_check_mark: | The account locale | | | ~~`pin`~~ | *?string* | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.

[Might be removed] The hashed Plex Home PIN | | | `roles` | array<*string*> | :heavy_minus_sign: | [Might be removed] List of account roles. Plexpass membership listed here | | -| `subscriptionDescription` | *string* | :heavy_check_mark: | Description of the Plex Pass subscription | | \ No newline at end of file +| `subscriptionDescription` | *string* | :heavy_check_mark: | Description of the Plex Pass subscription | | +| `attributionPartner` | *string* | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Operations/GetTopWatchedContentQueryParamType.md b/docs/Models/Operations/GetTopWatchedContentQueryParamType.md index e61f114..e42bd14 100644 --- a/docs/Models/Operations/GetTopWatchedContentQueryParamType.md +++ b/docs/Models/Operations/GetTopWatchedContentQueryParamType.md @@ -14,6 +14,6 @@ E.g. A movie library will not return anything with type 3 as there are no season | Name | Value | | --------- | --------- | | `Movie` | 1 | -| `Show` | 2 | +| `TvShow` | 2 | | `Season` | 3 | | `Episode` | 4 | \ No newline at end of file diff --git a/docs/Models/Operations/HasThumbnail.md b/docs/Models/Operations/HasThumbnail.md new file mode 100644 index 0000000..a676daf --- /dev/null +++ b/docs/Models/Operations/HasThumbnail.md @@ -0,0 +1,9 @@ +# HasThumbnail + + +## Values + +| Name | Value | +| ------- | ------- | +| `False` | 0 | +| `True` | 1 | \ No newline at end of file diff --git a/docs/Models/Operations/Meta.md b/docs/Models/Operations/Meta.md index 6f2db09..5ed1e64 100644 --- a/docs/Models/Operations/Meta.md +++ b/docs/Models/Operations/Meta.md @@ -6,7 +6,7 @@ The Meta object is only included in the response if the `includeMeta` parameter ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | -| `type` | array<[Operations\GetLibraryItemsType](../../Models/Operations/GetLibraryItemsType.md)> | :heavy_minus_sign: | N/A | -| `fieldType` | array<[Operations\GetLibraryItemsFieldType](../../Models/Operations/GetLibraryItemsFieldType.md)> | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | +| `type` | array<[Operations\GetLibraryItemsLibraryType](../../Models/Operations/GetLibraryItemsLibraryType.md)> | :heavy_minus_sign: | N/A | +| `fieldType` | array<[Operations\GetLibraryItemsFieldType](../../Models/Operations/GetLibraryItemsFieldType.md)> | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/PostUsersSignInDataUserPlexAccount.md b/docs/Models/Operations/PostUsersSignInDataUserPlexAccount.md index bb3b751..45c9279 100644 --- a/docs/Models/Operations/PostUsersSignInDataUserPlexAccount.md +++ b/docs/Models/Operations/PostUsersSignInDataUserPlexAccount.md @@ -48,4 +48,5 @@ Returns the user account data with a valid auth token | `locale` | *string* | :heavy_check_mark: | The account locale | | | ~~`pin`~~ | *?string* | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.

[Might be removed] The hashed Plex Home PIN | | | `roles` | array<*string*> | :heavy_minus_sign: | [Might be removed] List of account roles. Plexpass membership listed here | | -| `subscriptionDescription` | *string* | :heavy_check_mark: | Description of the Plex Pass subscription | | \ No newline at end of file +| `subscriptionDescription` | *string* | :heavy_check_mark: | Description of the Plex Pass subscription | | +| `attributionPartner` | *string* | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Operations/QueryParamType.md b/docs/Models/Operations/QueryParamType.md index 65dedff..feb4650 100644 --- a/docs/Models/Operations/QueryParamType.md +++ b/docs/Models/Operations/QueryParamType.md @@ -14,6 +14,6 @@ E.g. A movie library will not return anything with type 3 as there are no season | Name | Value | | --------- | --------- | | `Movie` | 1 | -| `Show` | 2 | +| `TvShow` | 2 | | `Season` | 3 | | `Episode` | 4 | \ No newline at end of file diff --git a/docs/Models/Operations/ShowOrdering.md b/docs/Models/Operations/ShowOrdering.md new file mode 100644 index 0000000..b8a243b --- /dev/null +++ b/docs/Models/Operations/ShowOrdering.md @@ -0,0 +1,20 @@ +# ShowOrdering + +Setting that indicates the episode ordering for the show +None = Library default, +tmdbAiring = The Movie Database (Aired), +aired = TheTVDB (Aired), +dvd = TheTVDB (DVD), +absolute = TheTVDB (Absolute)). + + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `None` | None | +| `TmdbAiring` | tmdbAiring | +| `Aired` | aired | +| `Dvd` | dvd | +| `Absolute` | absolute | \ No newline at end of file diff --git a/docs/Models/Operations/Type.md b/docs/Models/Operations/Type.md index 9856d9e..5c7d40e 100644 --- a/docs/Models/Operations/Type.md +++ b/docs/Models/Operations/Type.md @@ -14,6 +14,6 @@ E.g. A movie library will not return anything with type 3 as there are no season | Name | Value | | --------- | --------- | | `Movie` | 1 | -| `Show` | 2 | +| `TvShow` | 2 | | `Season` | 3 | | `Episode` | 4 | \ No newline at end of file diff --git a/docs/Models/Operations/UltraBlurColors.md b/docs/Models/Operations/UltraBlurColors.md new file mode 100644 index 0000000..ece4304 --- /dev/null +++ b/docs/Models/Operations/UltraBlurColors.md @@ -0,0 +1,11 @@ +# UltraBlurColors + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | +| `topLeft` | *string* | :heavy_check_mark: | N/A | 11333b | +| `topRight` | *string* | :heavy_check_mark: | N/A | 0a232d | +| `bottomRight` | *string* | :heavy_check_mark: | N/A | 73958 | +| `bottomLeft` | *string* | :heavy_check_mark: | N/A | 1f5066 | \ No newline at end of file diff --git a/docs/sdks/library/README.md b/docs/sdks/library/README.md index c19e2af..dc8d419 100644 --- a/docs/sdks/library/README.md +++ b/docs/sdks/library/README.md @@ -399,9 +399,9 @@ try { $request = new Operations\GetLibraryItemsRequest( sectionKey: 9518, tag: Operations\Tag::Edition, - type: Operations\Type::Show, includeGuids: Operations\IncludeGuids::Enable, includeMeta: Operations\IncludeMeta::Enable, + type: Operations\Type::TvShow, xPlexContainerStart: 0, xPlexContainerSize: 50, ); @@ -541,7 +541,7 @@ $sdk = Plex_API\PlexAPI::builder() try { - $response = $sdk->library->getSearchLibrary(9518, Operations\QueryParamType::Show); + $response = $sdk->library->getSearchLibrary(9518, Operations\QueryParamType::TvShow); if ($response->object !== null) { // handle response @@ -718,7 +718,7 @@ $sdk = Plex_API\PlexAPI::builder() try { - $response = $sdk->library->getTopWatchedContent(Operations\GetTopWatchedContentQueryParamType::Show, 1); + $response = $sdk->library->getTopWatchedContent(Operations\GetTopWatchedContentQueryParamType::TvShow, 1); if ($response->object !== null) { // handle response diff --git a/docs/sdks/playlists/README.md b/docs/sdks/playlists/README.md index 5d036d1..ff615c8 100644 --- a/docs/sdks/playlists/README.md +++ b/docs/sdks/playlists/README.md @@ -355,7 +355,7 @@ $sdk = Plex_API\PlexAPI::builder() try { - $response = $sdk->playlists->getPlaylistContents(5004.46, Operations\GetPlaylistContentsQueryParamType::Show); + $response = $sdk->playlists->getPlaylistContents(5004.46, Operations\GetPlaylistContentsQueryParamType::TvShow); if ($response->object !== null) { // handle response diff --git a/src/Models/Operations/Action.php b/src/Models/Operations/Action.php new file mode 100644 index 0000000..04e75fa --- /dev/null +++ b/src/Models/Operations/Action.php @@ -0,0 +1,37 @@ +id = $id; + $this->key = $key; + } +} \ No newline at end of file diff --git a/src/Models/Operations/ActiveDirection.php b/src/Models/Operations/ActiveDirection.php new file mode 100644 index 0000000..146edb6 --- /dev/null +++ b/src/Models/Operations/ActiveDirection.php @@ -0,0 +1,21 @@ +tag = $tag; + } +} \ No newline at end of file diff --git a/src/Models/Operations/DefaultDirection.php b/src/Models/Operations/DefaultDirection.php new file mode 100644 index 0000000..7eaed78 --- /dev/null +++ b/src/Models/Operations/DefaultDirection.php @@ -0,0 +1,21 @@ + $directory + * $action + * + * @var ?array $action */ - public function __construct(?string $key = null, ?string $type = null, ?array $directory = null) + #[\JMS\Serializer\Annotation\SerializedName('Action')] + #[\JMS\Serializer\Annotation\Type('array<\LukeHagar\Plex_API\Models\Operations\Action>|null')] + #[\JMS\Serializer\Annotation\SkipWhenNull] + public ?array $action = null; + + /** + * @param string $type + * @param ?string $key + * @param ?string $flavor + * @param ?string $scrobbleKey + * @param ?string $unscrobbleKey + * @param ?array $directory + * @param ?array $action + */ + public function __construct(string $type, ?string $key = null, ?string $flavor = null, ?string $scrobbleKey = null, ?string $unscrobbleKey = null, ?array $directory = null, ?array $action = null) { - $this->key = $key; $this->type = $type; + $this->key = $key; + $this->flavor = $flavor; + $this->scrobbleKey = $scrobbleKey; + $this->unscrobbleKey = $unscrobbleKey; $this->directory = $directory; + $this->action = $action; } } \ No newline at end of file diff --git a/src/Models/Operations/FlattenSeasons.php b/src/Models/Operations/FlattenSeasons.php new file mode 100644 index 0000000..0e53eac --- /dev/null +++ b/src/Models/Operations/FlattenSeasons.php @@ -0,0 +1,16 @@ +alt = $alt; + $this->type = $type; + $this->url = $url; + } +} \ No newline at end of file diff --git a/src/Models/Operations/GetLibraryItemsLibraryResponseType.php b/src/Models/Operations/GetLibraryItemsLibraryResponseType.php new file mode 100644 index 0000000..43927ab --- /dev/null +++ b/src/Models/Operations/GetLibraryItemsLibraryResponseType.php @@ -0,0 +1,18 @@ + $filter + */ + #[\JMS\Serializer\Annotation\SerializedName('Filter')] + #[\JMS\Serializer\Annotation\Type('array<\LukeHagar\Plex_API\Models\Operations\GetLibraryItemsFilter>|null')] + #[\JMS\Serializer\Annotation\SkipWhenNull] + public ?array $filter = null; + + /** + * $sort + * + * @var ?array $sort + */ + #[\JMS\Serializer\Annotation\SerializedName('Sort')] + #[\JMS\Serializer\Annotation\Type('array<\LukeHagar\Plex_API\Models\Operations\GetLibraryItemsSort>|null')] + #[\JMS\Serializer\Annotation\SkipWhenNull] + public ?array $sort = null; + + /** + * $field + * + * @var ?array $field + */ + #[\JMS\Serializer\Annotation\SerializedName('Field')] + #[\JMS\Serializer\Annotation\Type('array<\LukeHagar\Plex_API\Models\Operations\GetLibraryItemsField>|null')] + #[\JMS\Serializer\Annotation\SkipWhenNull] + public ?array $field = null; + + /** + * @param string $key + * @param string $type + * @param string $title + * @param bool $active + * @param ?array $filter + * @param ?array $sort + * @param ?array $field + */ + public function __construct(string $key, string $type, string $title, bool $active, ?array $filter = null, ?array $sort = null, ?array $field = null) + { + $this->key = $key; + $this->type = $type; + $this->title = $title; + $this->active = $active; + $this->filter = $filter; + $this->sort = $sort; + $this->field = $field; + } +} \ No newline at end of file diff --git a/src/Models/Operations/GetLibraryItemsMedia.php b/src/Models/Operations/GetLibraryItemsMedia.php index 99787ba..507a2d1 100644 --- a/src/Models/Operations/GetLibraryItemsMedia.php +++ b/src/Models/Operations/GetLibraryItemsMedia.php @@ -13,135 +13,139 @@ class GetLibraryItemsMedia { /** * - * @var ?int $id + * @var int $id */ #[\JMS\Serializer\Annotation\SerializedName('id')] - #[\JMS\Serializer\Annotation\SkipWhenNull] - public ?int $id = null; + public int $id; /** * - * @var ?int $duration + * @var int $duration */ #[\JMS\Serializer\Annotation\SerializedName('duration')] - #[\JMS\Serializer\Annotation\SkipWhenNull] - public ?int $duration = null; + public int $duration; /** * - * @var ?int $bitrate + * @var int $bitrate */ #[\JMS\Serializer\Annotation\SerializedName('bitrate')] - #[\JMS\Serializer\Annotation\SkipWhenNull] - public ?int $bitrate = null; + public int $bitrate; /** * - * @var ?int $width + * @var int $width */ #[\JMS\Serializer\Annotation\SerializedName('width')] - #[\JMS\Serializer\Annotation\SkipWhenNull] - public ?int $width = null; + public int $width; /** * - * @var ?int $height + * @var int $height */ #[\JMS\Serializer\Annotation\SerializedName('height')] - #[\JMS\Serializer\Annotation\SkipWhenNull] - public ?int $height = null; + public int $height; /** * - * @var ?float $aspectRatio + * @var float $aspectRatio */ #[\JMS\Serializer\Annotation\SerializedName('aspectRatio')] - #[\JMS\Serializer\Annotation\SkipWhenNull] - public ?float $aspectRatio = null; + public float $aspectRatio; /** * - * @var ?int $audioChannels + * @var ?string $audioProfile + */ + #[\JMS\Serializer\Annotation\SerializedName('audioProfile')] + #[\JMS\Serializer\Annotation\SkipWhenNull] + public ?string $audioProfile = null; + + /** + * + * @var int $audioChannels */ #[\JMS\Serializer\Annotation\SerializedName('audioChannels')] - #[\JMS\Serializer\Annotation\SkipWhenNull] - public ?int $audioChannels = null; + public int $audioChannels; /** * - * @var ?string $audioCodec + * @var string $audioCodec */ #[\JMS\Serializer\Annotation\SerializedName('audioCodec')] - #[\JMS\Serializer\Annotation\SkipWhenNull] - public ?string $audioCodec = null; + public string $audioCodec; /** * - * @var ?string $videoCodec + * @var string $videoCodec */ #[\JMS\Serializer\Annotation\SerializedName('videoCodec')] - #[\JMS\Serializer\Annotation\SkipWhenNull] - public ?string $videoCodec = null; + public string $videoCodec; /** * - * @var ?string $videoResolution + * @var string $videoResolution */ #[\JMS\Serializer\Annotation\SerializedName('videoResolution')] - #[\JMS\Serializer\Annotation\SkipWhenNull] - public ?string $videoResolution = null; + public string $videoResolution; /** * - * @var ?string $container + * @var string $container */ #[\JMS\Serializer\Annotation\SerializedName('container')] - #[\JMS\Serializer\Annotation\SkipWhenNull] - public ?string $container = null; + public string $container; /** * - * @var ?string $videoFrameRate + * @var string $videoFrameRate */ #[\JMS\Serializer\Annotation\SerializedName('videoFrameRate')] - #[\JMS\Serializer\Annotation\SkipWhenNull] - public ?string $videoFrameRate = null; + public string $videoFrameRate; /** * - * @var ?string $videoProfile + * @var string $videoProfile */ #[\JMS\Serializer\Annotation\SerializedName('videoProfile')] + public string $videoProfile; + + /** + * + * @var ?bool $hasVoiceActivity + */ + #[\JMS\Serializer\Annotation\SerializedName('hasVoiceActivity')] #[\JMS\Serializer\Annotation\SkipWhenNull] - public ?string $videoProfile = null; + public ?bool $hasVoiceActivity = null; /** * $part * - * @var ?array $part + * @var array $part */ #[\JMS\Serializer\Annotation\SerializedName('Part')] - #[\JMS\Serializer\Annotation\Type('array<\LukeHagar\Plex_API\Models\Operations\GetLibraryItemsPart>|null')] - #[\JMS\Serializer\Annotation\SkipWhenNull] - public ?array $part = null; + #[\JMS\Serializer\Annotation\Type('array<\LukeHagar\Plex_API\Models\Operations\GetLibraryItemsPart>')] + public array $part; /** - * @param ?int $id - * @param ?int $duration - * @param ?int $bitrate - * @param ?int $width - * @param ?int $height - * @param ?float $aspectRatio - * @param ?int $audioChannels - * @param ?string $audioCodec - * @param ?string $videoCodec - * @param ?string $videoResolution - * @param ?string $container - * @param ?string $videoFrameRate - * @param ?string $videoProfile - * @param ?array $part + * @param int $id + * @param int $duration + * @param int $bitrate + * @param int $width + * @param int $height + * @param float $aspectRatio + * @param int $audioChannels + * @param string $audioCodec + * @param string $videoCodec + * @param string $videoResolution + * @param string $container + * @param string $videoFrameRate + * @param string $videoProfile + * @param array $part + * @param ?string $audioProfile + * @param ?bool $hasVoiceActivity */ - public function __construct(?int $id = null, ?int $duration = null, ?int $bitrate = null, ?int $width = null, ?int $height = null, ?float $aspectRatio = null, ?int $audioChannels = null, ?string $audioCodec = null, ?string $videoCodec = null, ?string $videoResolution = null, ?string $container = null, ?string $videoFrameRate = null, ?string $videoProfile = null, ?array $part = null) + public function __construct(int $id, int $duration, int $bitrate, int $width, int $height, float $aspectRatio, int $audioChannels, string $audioCodec, string $videoCodec, string $videoResolution, string $container, string $videoFrameRate, string $videoProfile, array $part, ?string $audioProfile = null, ?bool $hasVoiceActivity = null) { $this->id = $id; $this->duration = $duration; @@ -157,5 +161,7 @@ class GetLibraryItemsMedia $this->videoFrameRate = $videoFrameRate; $this->videoProfile = $videoProfile; $this->part = $part; + $this->audioProfile = $audioProfile; + $this->hasVoiceActivity = $hasVoiceActivity; } } \ No newline at end of file diff --git a/src/Models/Operations/GetLibraryItemsMediaContainer.php b/src/Models/Operations/GetLibraryItemsMediaContainer.php index d888302..f940fcf 100644 --- a/src/Models/Operations/GetLibraryItemsMediaContainer.php +++ b/src/Models/Operations/GetLibraryItemsMediaContainer.php @@ -18,6 +18,27 @@ class GetLibraryItemsMediaContainer #[\JMS\Serializer\Annotation\SerializedName('size')] public int $size; + /** + * + * @var int $totalSize + */ + #[\JMS\Serializer\Annotation\SerializedName('totalSize')] + public int $totalSize; + + /** + * + * @var int $offset + */ + #[\JMS\Serializer\Annotation\SerializedName('offset')] + public int $offset; + + /** + * + * @var string $content + */ + #[\JMS\Serializer\Annotation\SerializedName('content')] + public string $content; + /** * * @var bool $allowSync @@ -25,6 +46,14 @@ class GetLibraryItemsMediaContainer #[\JMS\Serializer\Annotation\SerializedName('allowSync')] public bool $allowSync; + /** + * + * @var ?bool $nocache + */ + #[\JMS\Serializer\Annotation\SerializedName('nocache')] + #[\JMS\Serializer\Annotation\SkipWhenNull] + public ?bool $nocache = null; + /** * * @var string $art @@ -122,12 +151,11 @@ class GetLibraryItemsMediaContainer /** * $metadata * - * @var ?array $metadata + * @var array $metadata */ #[\JMS\Serializer\Annotation\SerializedName('Metadata')] - #[\JMS\Serializer\Annotation\Type('array<\LukeHagar\Plex_API\Models\Operations\GetLibraryItemsMetadata>|null')] - #[\JMS\Serializer\Annotation\SkipWhenNull] - public ?array $metadata = null; + #[\JMS\Serializer\Annotation\Type('array<\LukeHagar\Plex_API\Models\Operations\GetLibraryItemsMetadata>')] + public array $metadata; /** * The Meta object is only included in the response if the `includeMeta` parameter is set to `1`. @@ -143,6 +171,9 @@ class GetLibraryItemsMediaContainer /** * @param int $size + * @param int $totalSize + * @param int $offset + * @param string $content * @param bool $allowSync * @param string $art * @param string $identifier @@ -155,14 +186,18 @@ class GetLibraryItemsMediaContainer * @param string $title1 * @param string $title2 * @param string $viewGroup + * @param array $metadata + * @param ?bool $nocache * @param ?int $viewMode * @param ?bool $mixedParents - * @param ?array $metadata * @param ?Meta $meta */ - public function __construct(int $size, bool $allowSync, string $art, string $identifier, int|string $librarySectionID, string $librarySectionTitle, string $librarySectionUUID, string $mediaTagPrefix, int $mediaTagVersion, string $thumb, string $title1, string $title2, string $viewGroup, ?int $viewMode = null, ?bool $mixedParents = null, ?array $metadata = null, ?Meta $meta = null) + public function __construct(int $size, int $totalSize, int $offset, string $content, bool $allowSync, string $art, string $identifier, int|string $librarySectionID, string $librarySectionTitle, string $librarySectionUUID, string $mediaTagPrefix, int $mediaTagVersion, string $thumb, string $title1, string $title2, string $viewGroup, array $metadata, ?bool $nocache = null, ?int $viewMode = null, ?bool $mixedParents = null, ?Meta $meta = null) { $this->size = $size; + $this->totalSize = $totalSize; + $this->offset = $offset; + $this->content = $content; $this->allowSync = $allowSync; $this->art = $art; $this->identifier = $identifier; @@ -175,9 +210,10 @@ class GetLibraryItemsMediaContainer $this->title1 = $title1; $this->title2 = $title2; $this->viewGroup = $viewGroup; + $this->metadata = $metadata; + $this->nocache = $nocache; $this->viewMode = $viewMode; $this->mixedParents = $mixedParents; - $this->metadata = $metadata; $this->meta = $meta; } } \ No newline at end of file diff --git a/src/Models/Operations/GetLibraryItemsMetadata.php b/src/Models/Operations/GetLibraryItemsMetadata.php index 5afc2fc..81d5c3e 100644 --- a/src/Models/Operations/GetLibraryItemsMetadata.php +++ b/src/Models/Operations/GetLibraryItemsMetadata.php @@ -12,6 +12,10 @@ use Brick\DateTime\LocalDate; class GetLibraryItemsMetadata { /** + * The rating key (Media ID) of this media item. + * + * Note: This is always an integer, but is represented as a string in the API. + * * * @var string $ratingKey */ @@ -42,10 +46,22 @@ class GetLibraryItemsMetadata /** * - * @var string $type + * @var ?bool $skipChildren + */ + #[\JMS\Serializer\Annotation\SerializedName('skipChildren')] + #[\JMS\Serializer\Annotation\SkipWhenNull] + public ?bool $skipChildren = null; + + /** + * The type of media content + * + * + * + * @var GetLibraryItemsType $type */ #[\JMS\Serializer\Annotation\SerializedName('type')] - public string $type; + #[\JMS\Serializer\Annotation\Type('\LukeHagar\Plex_API\Models\Operations\GetLibraryItemsType')] + public GetLibraryItemsType $type; /** * @@ -54,6 +70,14 @@ class GetLibraryItemsMetadata #[\JMS\Serializer\Annotation\SerializedName('title')] public string $title; + /** + * + * @var ?string $slug + */ + #[\JMS\Serializer\Annotation\SerializedName('slug')] + #[\JMS\Serializer\Annotation\SkipWhenNull] + public ?string $slug = null; + /** * * @var ?string $contentRating @@ -64,11 +88,10 @@ class GetLibraryItemsMetadata /** * - * @var ?string $summary + * @var string $summary */ #[\JMS\Serializer\Annotation\SerializedName('summary')] - #[\JMS\Serializer\Annotation\SkipWhenNull] - public ?string $summary = null; + public string $summary; /** * @@ -88,10 +111,19 @@ class GetLibraryItemsMetadata /** * - * @var int $year + * @var ?int $year */ #[\JMS\Serializer\Annotation\SerializedName('year')] - public int $year; + #[\JMS\Serializer\Annotation\SkipWhenNull] + public ?int $year = null; + + /** + * + * @var ?int $seasonCount + */ + #[\JMS\Serializer\Annotation\SerializedName('seasonCount')] + #[\JMS\Serializer\Annotation\SkipWhenNull] + public ?int $seasonCount = null; /** * @@ -101,6 +133,32 @@ class GetLibraryItemsMetadata #[\JMS\Serializer\Annotation\SkipWhenNull] public ?string $tagline = null; + /** + * + * @var ?FlattenSeasons $flattenSeasons + */ + #[\JMS\Serializer\Annotation\SerializedName('flattenSeasons')] + #[\JMS\Serializer\Annotation\Type('\LukeHagar\Plex_API\Models\Operations\FlattenSeasons|null')] + #[\JMS\Serializer\Annotation\SkipWhenNull] + public ?FlattenSeasons $flattenSeasons = null; + + /** + * Setting that indicates the episode ordering for the show + * + * None = Library default, + * tmdbAiring = The Movie Database (Aired), + * aired = TheTVDB (Aired), + * dvd = TheTVDB (DVD), + * absolute = TheTVDB (Absolute)). + * + * + * @var ?ShowOrdering $showOrdering + */ + #[\JMS\Serializer\Annotation\SerializedName('showOrdering')] + #[\JMS\Serializer\Annotation\Type('\LukeHagar\Plex_API\Models\Operations\ShowOrdering|null')] + #[\JMS\Serializer\Annotation\SkipWhenNull] + public ?ShowOrdering $showOrdering = null; + /** * * @var ?string $thumb @@ -119,10 +177,19 @@ class GetLibraryItemsMetadata /** * - * @var int $duration + * @var ?string $banner + */ + #[\JMS\Serializer\Annotation\SerializedName('banner')] + #[\JMS\Serializer\Annotation\SkipWhenNull] + public ?string $banner = null; + + /** + * + * @var ?int $duration */ #[\JMS\Serializer\Annotation\SerializedName('duration')] - public int $duration; + #[\JMS\Serializer\Annotation\SkipWhenNull] + public ?int $duration = null; /** * @@ -133,14 +200,15 @@ class GetLibraryItemsMetadata public ?LocalDate $originallyAvailableAt = null; /** + * Unix epoch datetime in seconds * - * @var ?int $addedAt + * @var int $addedAt */ #[\JMS\Serializer\Annotation\SerializedName('addedAt')] - #[\JMS\Serializer\Annotation\SkipWhenNull] - public ?int $addedAt = null; + public int $addedAt; /** + * Unix epoch datetime in seconds * * @var ?int $updatedAt */ @@ -220,6 +288,14 @@ class GetLibraryItemsMetadata #[\JMS\Serializer\Annotation\SkipWhenNull] public ?string $grandparentThumb = null; + /** + * + * @var ?string $grandparentSlug + */ + #[\JMS\Serializer\Annotation\SerializedName('grandparentSlug')] + #[\JMS\Serializer\Annotation\SkipWhenNull] + public ?string $grandparentSlug = null; + /** * * @var ?string $grandparentArt @@ -237,13 +313,16 @@ class GetLibraryItemsMetadata public ?string $grandparentTheme = null; /** - * $media + * The Media object is only included when type query is `4` or higher. * - * @var array $media + * + * + * @var ?array $media */ #[\JMS\Serializer\Annotation\SerializedName('Media')] - #[\JMS\Serializer\Annotation\Type('array<\LukeHagar\Plex_API\Models\Operations\GetLibraryItemsMedia>')] - public array $media; + #[\JMS\Serializer\Annotation\Type('array<\LukeHagar\Plex_API\Models\Operations\GetLibraryItemsMedia>|null')] + #[\JMS\Serializer\Annotation\SkipWhenNull] + public ?array $media = null; /** * $genre @@ -285,6 +364,16 @@ class GetLibraryItemsMetadata #[\JMS\Serializer\Annotation\SkipWhenNull] public ?array $writer = null; + /** + * $collection + * + * @var ?array $collection + */ + #[\JMS\Serializer\Annotation\SerializedName('Collection')] + #[\JMS\Serializer\Annotation\Type('array<\LukeHagar\Plex_API\Models\Operations\Collection>|null')] + #[\JMS\Serializer\Annotation\SkipWhenNull] + public ?array $collection = null; + /** * $role * @@ -307,6 +396,25 @@ class GetLibraryItemsMetadata #[\JMS\Serializer\Annotation\SkipWhenNull] public ?array $mediaGuid = null; + /** + * + * @var ?UltraBlurColors $ultraBlurColors + */ + #[\JMS\Serializer\Annotation\SerializedName('UltraBlurColors')] + #[\JMS\Serializer\Annotation\Type('\LukeHagar\Plex_API\Models\Operations\UltraBlurColors|null')] + #[\JMS\Serializer\Annotation\SkipWhenNull] + public ?UltraBlurColors $ultraBlurColors = null; + + /** + * $image + * + * @var ?array $image + */ + #[\JMS\Serializer\Annotation\SerializedName('Image')] + #[\JMS\Serializer\Annotation\Type('array<\LukeHagar\Plex_API\Models\Operations\GetLibraryItemsImage>|null')] + #[\JMS\Serializer\Annotation\SkipWhenNull] + public ?array $image = null; + /** * * @var ?string $titleSort @@ -412,6 +520,9 @@ class GetLibraryItemsMetadata public ?string $hasPremiumPrimaryExtra = null; /** + * The rating key of the parent item. + * + * * * @var ?string $parentRatingKey */ @@ -487,21 +598,26 @@ class GetLibraryItemsMetadata * @param string $ratingKey * @param string $key * @param string $guid - * @param string $type + * @param GetLibraryItemsType $type * @param string $title - * @param int $year - * @param int $duration - * @param array $media + * @param string $summary + * @param int $addedAt * @param ?string $studio + * @param ?bool $skipChildren + * @param ?string $slug * @param ?string $contentRating - * @param ?string $summary * @param ?float $rating * @param ?float $audienceRating + * @param ?int $year + * @param ?int $seasonCount * @param ?string $tagline + * @param ?FlattenSeasons $flattenSeasons + * @param ?ShowOrdering $showOrdering * @param ?string $thumb * @param ?string $art + * @param ?string $banner + * @param ?int $duration * @param ?LocalDate $originallyAvailableAt - * @param ?int $addedAt * @param ?int $updatedAt * @param ?string $audienceRatingImage * @param ?string $chapterSource @@ -512,14 +628,19 @@ class GetLibraryItemsMetadata * @param ?string $grandparentKey * @param ?string $grandparentTitle * @param ?string $grandparentThumb + * @param ?string $grandparentSlug * @param ?string $grandparentArt * @param ?string $grandparentTheme + * @param ?array $media * @param ?array $genre * @param ?array $country * @param ?array $director * @param ?array $writer + * @param ?array $collection * @param ?array $role * @param ?array $mediaGuid + * @param ?UltraBlurColors $ultraBlurColors + * @param ?array $image * @param ?string $titleSort * @param ?int $viewCount * @param ?int $lastViewedAt @@ -543,26 +664,31 @@ class GetLibraryItemsMetadata * @param ?string $parentThumb * @param ?string $parentTheme */ - public function __construct(string $ratingKey, string $key, string $guid, string $type, string $title, int $year, int $duration, array $media, ?string $studio = null, ?string $contentRating = null, ?string $summary = null, ?float $rating = null, ?float $audienceRating = null, ?string $tagline = null, ?string $thumb = null, ?string $art = null, ?LocalDate $originallyAvailableAt = null, ?int $addedAt = null, ?int $updatedAt = null, ?string $audienceRatingImage = null, ?string $chapterSource = null, ?string $primaryExtraKey = null, ?string $ratingImage = null, ?string $grandparentRatingKey = null, ?string $grandparentGuid = null, ?string $grandparentKey = null, ?string $grandparentTitle = null, ?string $grandparentThumb = null, ?string $grandparentArt = null, ?string $grandparentTheme = null, ?array $genre = null, ?array $country = null, ?array $director = null, ?array $writer = null, ?array $role = null, ?array $mediaGuid = null, ?string $titleSort = null, ?int $viewCount = null, ?int $lastViewedAt = null, ?string $originalTitle = null, ?int $viewOffset = null, ?int $skipCount = null, ?int $index = null, ?string $theme = null, ?int $leafCount = null, ?int $viewedLeafCount = null, ?int $childCount = null, ?string $hasPremiumExtras = null, ?string $hasPremiumPrimaryExtra = null, ?string $parentRatingKey = null, ?string $parentGuid = null, ?string $parentStudio = null, ?string $parentKey = null, ?string $parentTitle = null, ?int $parentIndex = null, ?int $parentYear = null, ?string $parentThumb = null, ?string $parentTheme = null) + public function __construct(string $ratingKey, string $key, string $guid, GetLibraryItemsType $type, string $title, string $summary, int $addedAt, ?string $studio = null, ?bool $skipChildren = null, ?string $slug = null, ?string $contentRating = null, ?float $rating = null, ?float $audienceRating = null, ?int $year = null, ?int $seasonCount = null, ?string $tagline = null, ?FlattenSeasons $flattenSeasons = null, ?ShowOrdering $showOrdering = null, ?string $thumb = null, ?string $art = null, ?string $banner = null, ?int $duration = null, ?LocalDate $originallyAvailableAt = null, ?int $updatedAt = null, ?string $audienceRatingImage = null, ?string $chapterSource = null, ?string $primaryExtraKey = null, ?string $ratingImage = null, ?string $grandparentRatingKey = null, ?string $grandparentGuid = null, ?string $grandparentKey = null, ?string $grandparentTitle = null, ?string $grandparentThumb = null, ?string $grandparentSlug = null, ?string $grandparentArt = null, ?string $grandparentTheme = null, ?array $media = null, ?array $genre = null, ?array $country = null, ?array $director = null, ?array $writer = null, ?array $collection = null, ?array $role = null, ?array $mediaGuid = null, ?UltraBlurColors $ultraBlurColors = null, ?array $image = null, ?string $titleSort = null, ?int $viewCount = null, ?int $lastViewedAt = null, ?string $originalTitle = null, ?int $viewOffset = null, ?int $skipCount = null, ?int $index = null, ?string $theme = null, ?int $leafCount = null, ?int $viewedLeafCount = null, ?int $childCount = null, ?string $hasPremiumExtras = null, ?string $hasPremiumPrimaryExtra = null, ?string $parentRatingKey = null, ?string $parentGuid = null, ?string $parentStudio = null, ?string $parentKey = null, ?string $parentTitle = null, ?int $parentIndex = null, ?int $parentYear = null, ?string $parentThumb = null, ?string $parentTheme = null) { $this->ratingKey = $ratingKey; $this->key = $key; $this->guid = $guid; $this->type = $type; $this->title = $title; - $this->year = $year; - $this->duration = $duration; - $this->media = $media; - $this->studio = $studio; - $this->contentRating = $contentRating; $this->summary = $summary; + $this->addedAt = $addedAt; + $this->studio = $studio; + $this->skipChildren = $skipChildren; + $this->slug = $slug; + $this->contentRating = $contentRating; $this->rating = $rating; $this->audienceRating = $audienceRating; + $this->year = $year; + $this->seasonCount = $seasonCount; $this->tagline = $tagline; + $this->flattenSeasons = $flattenSeasons; + $this->showOrdering = $showOrdering; $this->thumb = $thumb; $this->art = $art; + $this->banner = $banner; + $this->duration = $duration; $this->originallyAvailableAt = $originallyAvailableAt; - $this->addedAt = $addedAt; $this->updatedAt = $updatedAt; $this->audienceRatingImage = $audienceRatingImage; $this->chapterSource = $chapterSource; @@ -573,14 +699,19 @@ class GetLibraryItemsMetadata $this->grandparentKey = $grandparentKey; $this->grandparentTitle = $grandparentTitle; $this->grandparentThumb = $grandparentThumb; + $this->grandparentSlug = $grandparentSlug; $this->grandparentArt = $grandparentArt; $this->grandparentTheme = $grandparentTheme; + $this->media = $media; $this->genre = $genre; $this->country = $country; $this->director = $director; $this->writer = $writer; + $this->collection = $collection; $this->role = $role; $this->mediaGuid = $mediaGuid; + $this->ultraBlurColors = $ultraBlurColors; + $this->image = $image; $this->titleSort = $titleSort; $this->viewCount = $viewCount; $this->lastViewedAt = $lastViewedAt; diff --git a/src/Models/Operations/GetLibraryItemsPart.php b/src/Models/Operations/GetLibraryItemsPart.php index 35b6f3c..f2d0a03 100644 --- a/src/Models/Operations/GetLibraryItemsPart.php +++ b/src/Models/Operations/GetLibraryItemsPart.php @@ -13,70 +13,94 @@ class GetLibraryItemsPart { /** * - * @var ?int $id + * @var int $id */ #[\JMS\Serializer\Annotation\SerializedName('id')] - #[\JMS\Serializer\Annotation\SkipWhenNull] - public ?int $id = null; + public int $id; /** * - * @var ?string $key + * @var string $key */ #[\JMS\Serializer\Annotation\SerializedName('key')] - #[\JMS\Serializer\Annotation\SkipWhenNull] - public ?string $key = null; + public string $key; /** * - * @var ?int $duration + * @var int $duration */ #[\JMS\Serializer\Annotation\SerializedName('duration')] - #[\JMS\Serializer\Annotation\SkipWhenNull] - public ?int $duration = null; + public int $duration; /** * - * @var ?string $file + * @var string $file */ #[\JMS\Serializer\Annotation\SerializedName('file')] - #[\JMS\Serializer\Annotation\SkipWhenNull] - public ?string $file = null; + public string $file; /** * - * @var ?int $size + * @var int $size */ #[\JMS\Serializer\Annotation\SerializedName('size')] - #[\JMS\Serializer\Annotation\SkipWhenNull] - public ?int $size = null; + public int $size; /** + * The container format of the media file. * - * @var ?string $container + * + * + * @var string $container */ #[\JMS\Serializer\Annotation\SerializedName('container')] - #[\JMS\Serializer\Annotation\SkipWhenNull] - public ?string $container = null; + public string $container; /** * - * @var ?string $videoProfile + * @var ?string $audioProfile */ - #[\JMS\Serializer\Annotation\SerializedName('videoProfile')] + #[\JMS\Serializer\Annotation\SerializedName('audioProfile')] #[\JMS\Serializer\Annotation\SkipWhenNull] - public ?string $videoProfile = null; + public ?string $audioProfile = null; /** - * @param ?int $id - * @param ?string $key - * @param ?int $duration - * @param ?string $file - * @param ?int $size - * @param ?string $container - * @param ?string $videoProfile + * + * @var string $videoProfile */ - public function __construct(?int $id = null, ?string $key = null, ?int $duration = null, ?string $file = null, ?int $size = null, ?string $container = null, ?string $videoProfile = null) + #[\JMS\Serializer\Annotation\SerializedName('videoProfile')] + public string $videoProfile; + + /** + * + * @var ?string $indexes + */ + #[\JMS\Serializer\Annotation\SerializedName('indexes')] + #[\JMS\Serializer\Annotation\SkipWhenNull] + public ?string $indexes = null; + + /** + * + * @var ?HasThumbnail $hasThumbnail + */ + #[\JMS\Serializer\Annotation\SerializedName('hasThumbnail')] + #[\JMS\Serializer\Annotation\Type('\LukeHagar\Plex_API\Models\Operations\HasThumbnail|null')] + #[\JMS\Serializer\Annotation\SkipWhenNull] + public ?HasThumbnail $hasThumbnail = null; + + /** + * @param int $id + * @param string $key + * @param int $duration + * @param string $file + * @param int $size + * @param string $container + * @param string $videoProfile + * @param ?string $audioProfile + * @param ?string $indexes + * @param ?HasThumbnail $hasThumbnail + */ + public function __construct(int $id, string $key, int $duration, string $file, int $size, string $container, string $videoProfile, ?string $audioProfile = null, ?string $indexes = null, ?HasThumbnail $hasThumbnail = null) { $this->id = $id; $this->key = $key; @@ -85,5 +109,8 @@ class GetLibraryItemsPart $this->size = $size; $this->container = $container; $this->videoProfile = $videoProfile; + $this->audioProfile = $audioProfile; + $this->indexes = $indexes; + $this->hasThumbnail = $hasThumbnail; } } \ No newline at end of file diff --git a/src/Models/Operations/GetLibraryItemsRequest.php b/src/Models/Operations/GetLibraryItemsRequest.php index 2d802b9..6ce5085 100644 --- a/src/Models/Operations/GetLibraryItemsRequest.php +++ b/src/Models/Operations/GetLibraryItemsRequest.php @@ -60,10 +60,10 @@ class GetLibraryItemsRequest * E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries * * - * @var Type $type + * @var ?Type $type */ #[SpeakeasyMetadata('queryParam:style=form,explode=true,name=type')] - public Type $type; + public ?Type $type = null; /** * The index of the first item to return. If not specified, the first item will be returned. @@ -92,19 +92,19 @@ class GetLibraryItemsRequest /** * @param int $sectionKey * @param Tag $tag - * @param Type $type * @param ?IncludeGuids $includeGuids * @param ?IncludeMeta $includeMeta + * @param ?Type $type * @param ?int $xPlexContainerStart * @param ?int $xPlexContainerSize */ - public function __construct(int $sectionKey, Tag $tag, Type $type, ?IncludeGuids $includeGuids = null, ?IncludeMeta $includeMeta = null, ?int $xPlexContainerStart = null, ?int $xPlexContainerSize = null) + public function __construct(int $sectionKey, Tag $tag, ?IncludeGuids $includeGuids = null, ?IncludeMeta $includeMeta = null, ?Type $type = null, ?int $xPlexContainerStart = null, ?int $xPlexContainerSize = null) { $this->sectionKey = $sectionKey; $this->tag = $tag; - $this->type = $type; $this->includeGuids = $includeGuids; $this->includeMeta = $includeMeta; + $this->type = $type; $this->xPlexContainerStart = $xPlexContainerStart; $this->xPlexContainerSize = $xPlexContainerSize; } diff --git a/src/Models/Operations/GetLibraryItemsSort.php b/src/Models/Operations/GetLibraryItemsSort.php index 681bfd6..aaeb2de 100644 --- a/src/Models/Operations/GetLibraryItemsSort.php +++ b/src/Models/Operations/GetLibraryItemsSort.php @@ -21,10 +21,34 @@ class GetLibraryItemsSort /** * - * @var string $defaultDirection + * @var ?bool $active + */ + #[\JMS\Serializer\Annotation\SerializedName('active')] + #[\JMS\Serializer\Annotation\SkipWhenNull] + public ?bool $active = null; + + /** + * The direction of the sort. Can be either `asc` or `desc`. + * + * + * + * @var ?ActiveDirection $activeDirection + */ + #[\JMS\Serializer\Annotation\SerializedName('activeDirection')] + #[\JMS\Serializer\Annotation\Type('\LukeHagar\Plex_API\Models\Operations\ActiveDirection|null')] + #[\JMS\Serializer\Annotation\SkipWhenNull] + public ?ActiveDirection $activeDirection = null; + + /** + * The direction of the sort. Can be either `asc` or `desc`. + * + * + * + * @var DefaultDirection $defaultDirection */ #[\JMS\Serializer\Annotation\SerializedName('defaultDirection')] - public string $defaultDirection; + #[\JMS\Serializer\Annotation\Type('\LukeHagar\Plex_API\Models\Operations\DefaultDirection')] + public DefaultDirection $defaultDirection; /** * @@ -57,19 +81,23 @@ class GetLibraryItemsSort public string $title; /** - * @param string $defaultDirection + * @param DefaultDirection $defaultDirection * @param string $key * @param string $title * @param ?string $default + * @param ?bool $active + * @param ?ActiveDirection $activeDirection * @param ?string $descKey * @param ?string $firstCharacterKey */ - public function __construct(string $defaultDirection, string $key, string $title, ?string $default = null, ?string $descKey = null, ?string $firstCharacterKey = null) + public function __construct(DefaultDirection $defaultDirection, string $key, string $title, ?string $default = null, ?bool $active = null, ?ActiveDirection $activeDirection = null, ?string $descKey = null, ?string $firstCharacterKey = null) { $this->defaultDirection = $defaultDirection; $this->key = $key; $this->title = $title; $this->default = $default; + $this->active = $active; + $this->activeDirection = $activeDirection; $this->descKey = $descKey; $this->firstCharacterKey = $firstCharacterKey; } diff --git a/src/Models/Operations/GetLibraryItemsType.php b/src/Models/Operations/GetLibraryItemsType.php index 8ac136e..b1a9c53 100644 --- a/src/Models/Operations/GetLibraryItemsType.php +++ b/src/Models/Operations/GetLibraryItemsType.php @@ -9,83 +9,15 @@ declare(strict_types=1); namespace LukeHagar\Plex_API\Models\Operations; -class GetLibraryItemsType +/** + * The type of media content + * + * + */ +enum GetLibraryItemsType: string { - /** - * - * @var string $key - */ - #[\JMS\Serializer\Annotation\SerializedName('key')] - public string $key; - - /** - * - * @var string $type - */ - #[\JMS\Serializer\Annotation\SerializedName('type')] - public string $type; - - /** - * - * @var string $title - */ - #[\JMS\Serializer\Annotation\SerializedName('title')] - public string $title; - - /** - * - * @var bool $active - */ - #[\JMS\Serializer\Annotation\SerializedName('active')] - public bool $active; - - /** - * $filter - * - * @var ?array $filter - */ - #[\JMS\Serializer\Annotation\SerializedName('Filter')] - #[\JMS\Serializer\Annotation\Type('array<\LukeHagar\Plex_API\Models\Operations\GetLibraryItemsFilter>|null')] - #[\JMS\Serializer\Annotation\SkipWhenNull] - public ?array $filter = null; - - /** - * $sort - * - * @var ?array $sort - */ - #[\JMS\Serializer\Annotation\SerializedName('Sort')] - #[\JMS\Serializer\Annotation\Type('array<\LukeHagar\Plex_API\Models\Operations\GetLibraryItemsSort>|null')] - #[\JMS\Serializer\Annotation\SkipWhenNull] - public ?array $sort = null; - - /** - * $field - * - * @var ?array $field - */ - #[\JMS\Serializer\Annotation\SerializedName('Field')] - #[\JMS\Serializer\Annotation\Type('array<\LukeHagar\Plex_API\Models\Operations\GetLibraryItemsField>|null')] - #[\JMS\Serializer\Annotation\SkipWhenNull] - public ?array $field = null; - - /** - * @param string $key - * @param string $type - * @param string $title - * @param bool $active - * @param ?array $filter - * @param ?array $sort - * @param ?array $field - */ - public function __construct(string $key, string $type, string $title, bool $active, ?array $filter = null, ?array $sort = null, ?array $field = null) - { - $this->key = $key; - $this->type = $type; - $this->title = $title; - $this->active = $active; - $this->filter = $filter; - $this->sort = $sort; - $this->field = $field; - } -} \ No newline at end of file + case Movie = 'movie'; + case TvShow = 'show'; + case Season = 'season'; + case Episode = 'episode'; +} diff --git a/src/Models/Operations/GetPlaylistContentsQueryParamType.php b/src/Models/Operations/GetPlaylistContentsQueryParamType.php index 762a3a3..394ac15 100644 --- a/src/Models/Operations/GetPlaylistContentsQueryParamType.php +++ b/src/Models/Operations/GetPlaylistContentsQueryParamType.php @@ -22,7 +22,7 @@ namespace LukeHagar\Plex_API\Models\Operations; enum GetPlaylistContentsQueryParamType: int { case Movie = 1; - case Show = 2; + case TvShow = 2; case Season = 3; case Episode = 4; } diff --git a/src/Models/Operations/GetTokenDetailsUserPlexAccount.php b/src/Models/Operations/GetTokenDetailsUserPlexAccount.php index 3e71433..4646b65 100644 --- a/src/Models/Operations/GetTokenDetailsUserPlexAccount.php +++ b/src/Models/Operations/GetTokenDetailsUserPlexAccount.php @@ -341,6 +341,13 @@ class GetTokenDetailsUserPlexAccount #[\JMS\Serializer\Annotation\SerializedName('uuid')] public string $uuid; + /** + * + * @var ?string $attributionPartner + */ + #[\JMS\Serializer\Annotation\SerializedName('attributionPartner')] + public ?string $attributionPartner; + /** * @param string $authToken * @param bool $backupCodesCreated @@ -382,8 +389,9 @@ class GetTokenDetailsUserPlexAccount * @param ?string $pin * @param ?array $roles * @param ?string $subscriptionDescription + * @param ?string $attributionPartner */ - public function __construct(string $authToken, bool $backupCodesCreated, bool $confirmed, string $country, string $email, bool $emailOnlyAuth, bool $experimentalFeatures, string $friendlyName, array $entitlements, bool $guest, bool $hasPassword, bool $home, bool $homeAdmin, int $homeSize, int $id, int $joinedAt, bool $mailingListActive, MailingListStatus $mailingListStatus, int $maxHomeSize, UserProfile $profile, bool $protected, int $rememberExpiresAt, bool $restricted, string $scrobbleTypes, array $services, Subscription $subscription, array $subscriptions, string $thumb, string $title, bool $twoFactorEnabled, string $username, string $uuid, ?bool $adsConsent = null, ?\DateTime $adsConsentReminderAt = null, ?\DateTime $adsConsentSetAt = null, ?bool $anonymous = null, ?string $locale = null, ?string $pin = null, ?array $roles = null, ?string $subscriptionDescription = null) + public function __construct(string $authToken, bool $backupCodesCreated, bool $confirmed, string $country, string $email, bool $emailOnlyAuth, bool $experimentalFeatures, string $friendlyName, array $entitlements, bool $guest, bool $hasPassword, bool $home, bool $homeAdmin, int $homeSize, int $id, int $joinedAt, bool $mailingListActive, MailingListStatus $mailingListStatus, int $maxHomeSize, UserProfile $profile, bool $protected, int $rememberExpiresAt, bool $restricted, string $scrobbleTypes, array $services, Subscription $subscription, array $subscriptions, string $thumb, string $title, bool $twoFactorEnabled, string $username, string $uuid, ?bool $adsConsent = null, ?\DateTime $adsConsentReminderAt = null, ?\DateTime $adsConsentSetAt = null, ?bool $anonymous = null, ?string $locale = null, ?string $pin = null, ?array $roles = null, ?string $subscriptionDescription = null, ?string $attributionPartner = null) { $this->authToken = $authToken; $this->backupCodesCreated = $backupCodesCreated; @@ -425,5 +433,6 @@ class GetTokenDetailsUserPlexAccount $this->pin = $pin; $this->roles = $roles; $this->subscriptionDescription = $subscriptionDescription; + $this->attributionPartner = $attributionPartner; } } \ No newline at end of file diff --git a/src/Models/Operations/GetTopWatchedContentQueryParamType.php b/src/Models/Operations/GetTopWatchedContentQueryParamType.php index 363a3f7..a9dd657 100644 --- a/src/Models/Operations/GetTopWatchedContentQueryParamType.php +++ b/src/Models/Operations/GetTopWatchedContentQueryParamType.php @@ -22,7 +22,7 @@ namespace LukeHagar\Plex_API\Models\Operations; enum GetTopWatchedContentQueryParamType: int { case Movie = 1; - case Show = 2; + case TvShow = 2; case Season = 3; case Episode = 4; } diff --git a/src/Models/Operations/HasThumbnail.php b/src/Models/Operations/HasThumbnail.php new file mode 100644 index 0000000..e26e7b6 --- /dev/null +++ b/src/Models/Operations/HasThumbnail.php @@ -0,0 +1,16 @@ + $type + * @var ?array $type */ #[\JMS\Serializer\Annotation\SerializedName('Type')] - #[\JMS\Serializer\Annotation\Type('array<\LukeHagar\Plex_API\Models\Operations\GetLibraryItemsType>|null')] + #[\JMS\Serializer\Annotation\Type('array<\LukeHagar\Plex_API\Models\Operations\GetLibraryItemsLibraryType>|null')] #[\JMS\Serializer\Annotation\SkipWhenNull] public ?array $type = null; @@ -37,7 +37,7 @@ class Meta public ?array $fieldType = null; /** - * @param ?array $type + * @param ?array $type * @param ?array $fieldType */ public function __construct(?array $type = null, ?array $fieldType = null) diff --git a/src/Models/Operations/PostUsersSignInDataUserPlexAccount.php b/src/Models/Operations/PostUsersSignInDataUserPlexAccount.php index 4c8eb1c..44504a3 100644 --- a/src/Models/Operations/PostUsersSignInDataUserPlexAccount.php +++ b/src/Models/Operations/PostUsersSignInDataUserPlexAccount.php @@ -341,6 +341,13 @@ class PostUsersSignInDataUserPlexAccount #[\JMS\Serializer\Annotation\SerializedName('uuid')] public string $uuid; + /** + * + * @var ?string $attributionPartner + */ + #[\JMS\Serializer\Annotation\SerializedName('attributionPartner')] + public ?string $attributionPartner; + /** * $pastSubscriptions * @@ -402,8 +409,9 @@ class PostUsersSignInDataUserPlexAccount * @param ?string $pin * @param ?array $roles * @param ?string $subscriptionDescription + * @param ?string $attributionPartner */ - public function __construct(string $authToken, bool $backupCodesCreated, bool $confirmed, string $country, string $email, bool $emailOnlyAuth, bool $experimentalFeatures, string $friendlyName, array $entitlements, bool $guest, bool $hasPassword, bool $home, bool $homeAdmin, int $homeSize, int $id, int $joinedAt, bool $mailingListActive, PostUsersSignInDataMailingListStatus $mailingListStatus, int $maxHomeSize, PostUsersSignInDataUserProfile $profile, bool $protected, int $rememberExpiresAt, bool $restricted, string $scrobbleTypes, array $services, PostUsersSignInDataSubscription $subscription, array $subscriptions, string $thumb, string $title, bool $twoFactorEnabled, string $username, string $uuid, array $pastSubscriptions, array $trials, ?bool $adsConsent = null, ?\DateTime $adsConsentReminderAt = null, ?\DateTime $adsConsentSetAt = null, ?bool $anonymous = null, ?string $locale = null, ?string $pin = null, ?array $roles = null, ?string $subscriptionDescription = null) + public function __construct(string $authToken, bool $backupCodesCreated, bool $confirmed, string $country, string $email, bool $emailOnlyAuth, bool $experimentalFeatures, string $friendlyName, array $entitlements, bool $guest, bool $hasPassword, bool $home, bool $homeAdmin, int $homeSize, int $id, int $joinedAt, bool $mailingListActive, PostUsersSignInDataMailingListStatus $mailingListStatus, int $maxHomeSize, PostUsersSignInDataUserProfile $profile, bool $protected, int $rememberExpiresAt, bool $restricted, string $scrobbleTypes, array $services, PostUsersSignInDataSubscription $subscription, array $subscriptions, string $thumb, string $title, bool $twoFactorEnabled, string $username, string $uuid, array $pastSubscriptions, array $trials, ?bool $adsConsent = null, ?\DateTime $adsConsentReminderAt = null, ?\DateTime $adsConsentSetAt = null, ?bool $anonymous = null, ?string $locale = null, ?string $pin = null, ?array $roles = null, ?string $subscriptionDescription = null, ?string $attributionPartner = null) { $this->authToken = $authToken; $this->backupCodesCreated = $backupCodesCreated; @@ -447,5 +455,6 @@ class PostUsersSignInDataUserPlexAccount $this->pin = $pin; $this->roles = $roles; $this->subscriptionDescription = $subscriptionDescription; + $this->attributionPartner = $attributionPartner; } } \ No newline at end of file diff --git a/src/Models/Operations/QueryParamType.php b/src/Models/Operations/QueryParamType.php index b40a0bb..47c1c34 100644 --- a/src/Models/Operations/QueryParamType.php +++ b/src/Models/Operations/QueryParamType.php @@ -22,7 +22,7 @@ namespace LukeHagar\Plex_API\Models\Operations; enum QueryParamType: int { case Movie = 1; - case Show = 2; + case TvShow = 2; case Season = 3; case Episode = 4; } diff --git a/src/Models/Operations/ShowOrdering.php b/src/Models/Operations/ShowOrdering.php new file mode 100644 index 0000000..7f18ca5 --- /dev/null +++ b/src/Models/Operations/ShowOrdering.php @@ -0,0 +1,29 @@ +topLeft = $topLeft; + $this->topRight = $topRight; + $this->bottomRight = $bottomRight; + $this->bottomLeft = $bottomLeft; + } +} \ No newline at end of file diff --git a/src/SDKConfiguration.php b/src/SDKConfiguration.php index e5170e9..4bd0380 100644 --- a/src/SDKConfiguration.php +++ b/src/SDKConfiguration.php @@ -36,11 +36,11 @@ class SDKConfiguration public string $openapiDocVersion = '0.0.3'; - public string $sdkVersion = '0.9.0'; + public string $sdkVersion = '0.9.1'; public string $genVersion = '2.421.3'; - public string $userAgent = 'speakeasy-sdk/php 0.9.0 2.421.3 0.0.3 lukehagar/plex-api'; + public string $userAgent = 'speakeasy-sdk/php 0.9.1 2.421.3 0.0.3 lukehagar/plex-api'; /** @var array>> */ public ?array $globals = [ 'parameters' => [],