From d833e675dd34b00c8849dc644763bb69f07a4863 Mon Sep 17 00:00:00 2001 From: speakeasybot Date: Sat, 8 Feb 2025 00:11:23 +0000 Subject: [PATCH] ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.487.1 --- .speakeasy/gen.lock | 162 +++-- .speakeasy/gen.yaml | 2 +- .speakeasy/workflow.lock | 14 +- README.md | 3 +- RELEASES.md | 12 +- codeSamples.yaml | 64 +- ...quest.md => GetActorsLibraryBadRequest.md} | 4 +- ...KeyErrors.md => GetActorsLibraryErrors.md} | 2 +- ...rs.md => GetActorsLibraryLibraryErrors.md} | 2 +- .../Errors/GetActorsLibraryUnauthorized.md | 11 + .../Errors/GetMediaMetaDataBadRequest.md | 11 + docs/Models/Errors/GetMediaMetaDataErrors.md | 10 + .../Errors/GetMediaMetaDataLibraryErrors.md | 10 + .../Errors/GetMediaMetaDataUnauthorized.md | 11 + .../GetMetaDataByRatingKeyUnauthorized.md | 11 - .../Operations/GetActorsLibraryDirectory.md | 11 + .../GetActorsLibraryMediaContainer.md | 20 + .../GetActorsLibraryQueryParamType.md | 22 + .../Operations/GetActorsLibraryRequest.md | 9 + .../Operations/GetActorsLibraryResponse.md | 11 + .../GetActorsLibraryResponseBody.md | 10 + .../GetCountriesLibraryQueryParamType.md | 22 + .../Operations/GetCountriesLibraryRequest.md | 7 +- .../GetGenresLibraryQueryParamType.md | 22 + .../Operations/GetGenresLibraryRequest.md | 7 +- .../GetLibraryItemsQueryParamType.md | 2 +- .../Operations/GetLibraryItemsRequest.md | 18 +- .../Operations/GetMediaMetaDataCountry.md | 10 + .../Operations/GetMediaMetaDataDirector.md | 13 + .../Operations/GetMediaMetaDataGenre.md | 10 + .../Operations/GetMediaMetaDataImage.md | 10 + .../Operations/GetMediaMetaDataLocation.md | 8 + .../Operations/GetMediaMetaDataMedia.md | 22 + .../GetMediaMetaDataMediaContainer.md | 16 + ...etadata.md => GetMediaMetaDataMetadata.md} | 103 +-- .../Models/Operations/GetMediaMetaDataPart.md | 18 + .../Operations/GetMediaMetaDataRequest.md | 21 + .../Operations/GetMediaMetaDataResponse.md | 11 + .../GetMediaMetaDataResponseBody.md | 10 + .../Models/Operations/GetMediaMetaDataRole.md | 13 + .../Operations/GetMediaMetaDataStream.md | 53 ++ .../GetMediaMetaDataUltraBlurColors.md | 11 + .../Operations/GetMediaMetaDataWriter.md | 13 + .../GetMetaDataByRatingKeyCountry.md | 10 - .../GetMetaDataByRatingKeyDirector.md | 12 - .../Operations/GetMetaDataByRatingKeyGenre.md | 10 - .../Operations/GetMetaDataByRatingKeyMedia.md | 24 - .../GetMetaDataByRatingKeyMediaContainer.md | 16 - .../Operations/GetMetaDataByRatingKeyPart.md | 18 - .../GetMetaDataByRatingKeyRequest.md | 8 - .../GetMetaDataByRatingKeyResponse.md | 11 - .../GetMetaDataByRatingKeyResponseBody.md | 10 - .../Operations/GetMetaDataByRatingKeyRole.md | 13 - .../GetMetaDataByRatingKeyStream.md | 39 -- .../GetMetaDataByRatingKeyWriter.md | 12 - .../GetPlaylistContentsQueryParamType.md | 2 +- .../Operations/GetPlaylistContentsRequest.md | 8 +- .../GetRecentlyAddedLibraryRequest.md | 18 +- .../Operations/GetRecentlyAddedRequest.md | 18 +- .../GetSearchLibraryQueryParamType.md | 2 +- .../Operations/GetSearchLibraryRequest.md | 8 +- .../GetTopWatchedContentQueryParamType.md | 2 +- .../Operations/GetTopWatchedContentRequest.md | 8 +- docs/Models/Operations/Guids.md | 2 +- docs/Models/Operations/Producer.md | 11 +- docs/Models/Operations/QueryParamType.md | 2 +- docs/Models/Operations/Rating.md | 10 + docs/Models/Operations/Ratings.md | 10 - docs/Models/Operations/Similar.md | 10 + docs/Models/Operations/Type.md | 2 +- docs/sdks/library/README.md | 142 +++- docs/sdks/playlists/README.md | 8 +- src/Library.php | 140 +++- ...est.php => GetActorsLibraryBadRequest.php} | 14 +- ...> GetActorsLibraryBadRequestThrowable.php} | 6 +- ...yErrors.php => GetActorsLibraryErrors.php} | 2 +- ....php => GetActorsLibraryLibraryErrors.php} | 2 +- ...d.php => GetActorsLibraryUnauthorized.php} | 14 +- ...GetActorsLibraryUnauthorizedThrowable.php} | 6 +- .../Errors/GetMediaMetaDataBadRequest.php | 53 ++ .../GetMediaMetaDataBadRequestThrowable.php | 20 + src/Models/Errors/GetMediaMetaDataErrors.php | 50 ++ .../Errors/GetMediaMetaDataLibraryErrors.php | 50 ++ .../Errors/GetMediaMetaDataUnauthorized.php | 53 ++ .../GetMediaMetaDataUnauthorizedThrowable.php | 20 + .../Operations/GetActorsLibraryDirectory.php | 60 ++ .../GetActorsLibraryMediaContainer.php | 151 ++++ .../GetActorsLibraryQueryParamType.php | 31 + .../Operations/GetActorsLibraryRequest.php | 50 ++ .../Operations/GetActorsLibraryResponse.php | 56 ++ .../GetActorsLibraryResponseBody.php | 32 + .../GetCountriesLibraryQueryParamType.php | 31 + .../Operations/GetCountriesLibraryRequest.php | 19 +- .../GetGenresLibraryQueryParamType.php | 31 + .../Operations/GetGenresLibraryRequest.php | 19 +- .../GetLibraryItemsQueryParamType.php | 2 +- .../Operations/GetLibraryItemsRequest.php | 36 +- ...yGenre.php => GetMediaMetaDataCountry.php} | 28 +- ...yRole.php => GetMediaMetaDataDirector.php} | 38 +- ...yCountry.php => GetMediaMetaDataGenre.php} | 28 +- .../Operations/GetMediaMetaDataImage.php | 50 ++ .../Operations/GetMediaMetaDataLocation.php | 30 + .../Operations/GetMediaMetaDataMedia.php | 171 +++++ .../GetMediaMetaDataMediaContainer.php | 111 +++ .../Operations/GetMediaMetaDataMetadata.php | 656 ++++++++++++++++++ .../Operations/GetMediaMetaDataPart.php | 133 ++++ .../Operations/GetMediaMetaDataRequest.php | 160 +++++ ...ponse.php => GetMediaMetaDataResponse.php} | 10 +- .../GetMediaMetaDataResponseBody.php | 32 + ...KeyWriter.php => GetMediaMetaDataRole.php} | 48 +- ...yStream.php => GetMediaMetaDataStream.php} | 381 +++++++--- .../GetMediaMetaDataUltraBlurColors.php | 60 ++ ...irector.php => GetMediaMetaDataWriter.php} | 48 +- .../GetMetaDataByRatingKeyMedia.php | 192 ----- .../GetMetaDataByRatingKeyMediaContainer.php | 112 --- .../GetMetaDataByRatingKeyMetadata.php | 423 ----------- .../Operations/GetMetaDataByRatingKeyPart.php | 132 ---- .../GetMetaDataByRatingKeyRequest.php | 30 - .../GetMetaDataByRatingKeyResponseBody.php | 32 - .../GetPlaylistContentsQueryParamType.php | 2 +- .../Operations/GetPlaylistContentsRequest.php | 2 +- .../GetRecentlyAddedLibraryRequest.php | 2 +- .../Operations/GetRecentlyAddedRequest.php | 2 +- .../GetSearchLibraryQueryParamType.php | 2 +- .../Operations/GetSearchLibraryRequest.php | 2 +- .../GetTopWatchedContentQueryParamType.php | 2 +- .../GetTopWatchedContentRequest.php | 2 +- src/Models/Operations/Guids.php | 10 +- src/Models/Operations/Producer.php | 46 +- src/Models/Operations/QueryParamType.php | 2 +- .../Operations/{Ratings.php => Rating.php} | 28 +- src/Models/Operations/Similar.php | 50 ++ src/Models/Operations/Type.php | 2 +- src/SDKConfiguration.php | 4 +- 134 files changed, 3668 insertions(+), 1621 deletions(-) rename docs/Models/Errors/{GetMetaDataByRatingKeyBadRequest.md => GetActorsLibraryBadRequest.md} (91%) rename docs/Models/Errors/{GetMetaDataByRatingKeyErrors.md => GetActorsLibraryErrors.md} (96%) rename docs/Models/Errors/{GetMetaDataByRatingKeyLibraryErrors.md => GetActorsLibraryLibraryErrors.md} (95%) create mode 100644 docs/Models/Errors/GetActorsLibraryUnauthorized.md create mode 100644 docs/Models/Errors/GetMediaMetaDataBadRequest.md create mode 100644 docs/Models/Errors/GetMediaMetaDataErrors.md create mode 100644 docs/Models/Errors/GetMediaMetaDataLibraryErrors.md create mode 100644 docs/Models/Errors/GetMediaMetaDataUnauthorized.md delete mode 100644 docs/Models/Errors/GetMetaDataByRatingKeyUnauthorized.md create mode 100644 docs/Models/Operations/GetActorsLibraryDirectory.md create mode 100644 docs/Models/Operations/GetActorsLibraryMediaContainer.md create mode 100644 docs/Models/Operations/GetActorsLibraryQueryParamType.md create mode 100644 docs/Models/Operations/GetActorsLibraryRequest.md create mode 100644 docs/Models/Operations/GetActorsLibraryResponse.md create mode 100644 docs/Models/Operations/GetActorsLibraryResponseBody.md create mode 100644 docs/Models/Operations/GetCountriesLibraryQueryParamType.md create mode 100644 docs/Models/Operations/GetGenresLibraryQueryParamType.md create mode 100644 docs/Models/Operations/GetMediaMetaDataCountry.md create mode 100644 docs/Models/Operations/GetMediaMetaDataDirector.md create mode 100644 docs/Models/Operations/GetMediaMetaDataGenre.md create mode 100644 docs/Models/Operations/GetMediaMetaDataImage.md create mode 100644 docs/Models/Operations/GetMediaMetaDataLocation.md create mode 100644 docs/Models/Operations/GetMediaMetaDataMedia.md create mode 100644 docs/Models/Operations/GetMediaMetaDataMediaContainer.md rename docs/Models/Operations/{GetMetaDataByRatingKeyMetadata.md => GetMediaMetaDataMetadata.md} (54%) create mode 100644 docs/Models/Operations/GetMediaMetaDataPart.md create mode 100644 docs/Models/Operations/GetMediaMetaDataRequest.md create mode 100644 docs/Models/Operations/GetMediaMetaDataResponse.md create mode 100644 docs/Models/Operations/GetMediaMetaDataResponseBody.md create mode 100644 docs/Models/Operations/GetMediaMetaDataRole.md create mode 100644 docs/Models/Operations/GetMediaMetaDataStream.md create mode 100644 docs/Models/Operations/GetMediaMetaDataUltraBlurColors.md create mode 100644 docs/Models/Operations/GetMediaMetaDataWriter.md delete mode 100644 docs/Models/Operations/GetMetaDataByRatingKeyCountry.md delete mode 100644 docs/Models/Operations/GetMetaDataByRatingKeyDirector.md delete mode 100644 docs/Models/Operations/GetMetaDataByRatingKeyGenre.md delete mode 100644 docs/Models/Operations/GetMetaDataByRatingKeyMedia.md delete mode 100644 docs/Models/Operations/GetMetaDataByRatingKeyMediaContainer.md delete mode 100644 docs/Models/Operations/GetMetaDataByRatingKeyPart.md delete mode 100644 docs/Models/Operations/GetMetaDataByRatingKeyRequest.md delete mode 100644 docs/Models/Operations/GetMetaDataByRatingKeyResponse.md delete mode 100644 docs/Models/Operations/GetMetaDataByRatingKeyResponseBody.md delete mode 100644 docs/Models/Operations/GetMetaDataByRatingKeyRole.md delete mode 100644 docs/Models/Operations/GetMetaDataByRatingKeyStream.md delete mode 100644 docs/Models/Operations/GetMetaDataByRatingKeyWriter.md create mode 100644 docs/Models/Operations/Rating.md delete mode 100644 docs/Models/Operations/Ratings.md create mode 100644 docs/Models/Operations/Similar.md rename src/Models/Errors/{GetMetaDataByRatingKeyBadRequest.php => GetActorsLibraryBadRequest.php} (69%) rename src/Models/Errors/{GetMetaDataByRatingKeyBadRequestThrowable.php => GetActorsLibraryBadRequestThrowable.php} (64%) rename src/Models/Errors/{GetMetaDataByRatingKeyErrors.php => GetActorsLibraryErrors.php} (96%) rename src/Models/Errors/{GetMetaDataByRatingKeyLibraryErrors.php => GetActorsLibraryLibraryErrors.php} (96%) rename src/Models/Errors/{GetMetaDataByRatingKeyUnauthorized.php => GetActorsLibraryUnauthorized.php} (68%) rename src/Models/Errors/{GetMetaDataByRatingKeyUnauthorizedThrowable.php => GetActorsLibraryUnauthorizedThrowable.php} (64%) create mode 100644 src/Models/Errors/GetMediaMetaDataBadRequest.php create mode 100644 src/Models/Errors/GetMediaMetaDataBadRequestThrowable.php create mode 100644 src/Models/Errors/GetMediaMetaDataErrors.php create mode 100644 src/Models/Errors/GetMediaMetaDataLibraryErrors.php create mode 100644 src/Models/Errors/GetMediaMetaDataUnauthorized.php create mode 100644 src/Models/Errors/GetMediaMetaDataUnauthorizedThrowable.php create mode 100644 src/Models/Operations/GetActorsLibraryDirectory.php create mode 100644 src/Models/Operations/GetActorsLibraryMediaContainer.php create mode 100644 src/Models/Operations/GetActorsLibraryQueryParamType.php create mode 100644 src/Models/Operations/GetActorsLibraryRequest.php create mode 100644 src/Models/Operations/GetActorsLibraryResponse.php create mode 100644 src/Models/Operations/GetActorsLibraryResponseBody.php create mode 100644 src/Models/Operations/GetCountriesLibraryQueryParamType.php create mode 100644 src/Models/Operations/GetGenresLibraryQueryParamType.php rename src/Models/Operations/{GetMetaDataByRatingKeyGenre.php => GetMediaMetaDataCountry.php} (50%) rename src/Models/Operations/{GetMetaDataByRatingKeyRole.php => GetMediaMetaDataDirector.php} (61%) rename src/Models/Operations/{GetMetaDataByRatingKeyCountry.php => GetMediaMetaDataGenre.php} (50%) create mode 100644 src/Models/Operations/GetMediaMetaDataImage.php create mode 100644 src/Models/Operations/GetMediaMetaDataLocation.php create mode 100644 src/Models/Operations/GetMediaMetaDataMedia.php create mode 100644 src/Models/Operations/GetMediaMetaDataMediaContainer.php create mode 100644 src/Models/Operations/GetMediaMetaDataMetadata.php create mode 100644 src/Models/Operations/GetMediaMetaDataPart.php create mode 100644 src/Models/Operations/GetMediaMetaDataRequest.php rename src/Models/Operations/{GetMetaDataByRatingKeyResponse.php => GetMediaMetaDataResponse.php} (77%) create mode 100644 src/Models/Operations/GetMediaMetaDataResponseBody.php rename src/Models/Operations/{GetMetaDataByRatingKeyWriter.php => GetMediaMetaDataRole.php} (52%) rename src/Models/Operations/{GetMetaDataByRatingKeyStream.php => GetMediaMetaDataStream.php} (51%) create mode 100644 src/Models/Operations/GetMediaMetaDataUltraBlurColors.php rename src/Models/Operations/{GetMetaDataByRatingKeyDirector.php => GetMediaMetaDataWriter.php} (52%) delete mode 100644 src/Models/Operations/GetMetaDataByRatingKeyMedia.php delete mode 100644 src/Models/Operations/GetMetaDataByRatingKeyMediaContainer.php delete mode 100644 src/Models/Operations/GetMetaDataByRatingKeyMetadata.php delete mode 100644 src/Models/Operations/GetMetaDataByRatingKeyPart.php delete mode 100644 src/Models/Operations/GetMetaDataByRatingKeyRequest.php delete mode 100644 src/Models/Operations/GetMetaDataByRatingKeyResponseBody.php rename src/Models/Operations/{Ratings.php => Rating.php} (51%) create mode 100644 src/Models/Operations/Similar.php diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index 02a71b6..7243b31 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: 7dec92ab9151a1b5a35df5faa81811ba + docChecksum: 5d44282cd3351c75bd6c9a894dbe1ec9 docVersion: 0.0.3 - speakeasyVersion: 1.487.0 + speakeasyVersion: 1.487.1 generationVersion: 2.506.0 - releaseVersion: 0.12.7 - configChecksum: a1e3ba7fcb508e0bcf094e7a0bbffe76 + releaseVersion: 0.12.8 + configChecksum: 522f4632624dae399d09bfdafa4fb067 repoURL: https://github.com/LukeHagar/plexphp.git repoSubDirectory: . installationURL: https://github.com/LukeHagar/plexphp @@ -69,6 +69,10 @@ generatedFiles: - docs/Models/Errors/EnablePaperTrailLogErrors.md - docs/Models/Errors/EnablePaperTrailUnauthorized.md - docs/Models/Errors/Errors.md + - docs/Models/Errors/GetActorsLibraryBadRequest.md + - docs/Models/Errors/GetActorsLibraryErrors.md + - docs/Models/Errors/GetActorsLibraryLibraryErrors.md + - docs/Models/Errors/GetActorsLibraryUnauthorized.md - docs/Models/Errors/GetAllLibrariesBadRequest.md - docs/Models/Errors/GetAllLibrariesErrors.md - docs/Models/Errors/GetAllLibrariesLibraryErrors.md @@ -133,14 +137,14 @@ generatedFiles: - docs/Models/Errors/GetLibraryItemsErrors.md - docs/Models/Errors/GetLibraryItemsLibraryErrors.md - docs/Models/Errors/GetLibraryItemsUnauthorized.md + - docs/Models/Errors/GetMediaMetaDataBadRequest.md + - docs/Models/Errors/GetMediaMetaDataErrors.md + - docs/Models/Errors/GetMediaMetaDataLibraryErrors.md + - docs/Models/Errors/GetMediaMetaDataUnauthorized.md - docs/Models/Errors/GetMediaProvidersBadRequest.md - docs/Models/Errors/GetMediaProvidersErrors.md - docs/Models/Errors/GetMediaProvidersServerErrors.md - docs/Models/Errors/GetMediaProvidersUnauthorized.md - - docs/Models/Errors/GetMetaDataByRatingKeyBadRequest.md - - docs/Models/Errors/GetMetaDataByRatingKeyErrors.md - - docs/Models/Errors/GetMetaDataByRatingKeyLibraryErrors.md - - docs/Models/Errors/GetMetaDataByRatingKeyUnauthorized.md - docs/Models/Errors/GetMetadataChildrenBadRequest.md - docs/Models/Errors/GetMetadataChildrenErrors.md - docs/Models/Errors/GetMetadataChildrenLibraryErrors.md @@ -399,6 +403,12 @@ generatedFiles: - docs/Models/Operations/Friend.md - docs/Models/Operations/Genre.md - docs/Models/Operations/GeoData.md + - docs/Models/Operations/GetActorsLibraryDirectory.md + - docs/Models/Operations/GetActorsLibraryMediaContainer.md + - docs/Models/Operations/GetActorsLibraryQueryParamType.md + - docs/Models/Operations/GetActorsLibraryRequest.md + - docs/Models/Operations/GetActorsLibraryResponse.md + - docs/Models/Operations/GetActorsLibraryResponseBody.md - docs/Models/Operations/GetAllLibrariesDirectory.md - docs/Models/Operations/GetAllLibrariesLocation.md - docs/Models/Operations/GetAllLibrariesMediaContainer.md @@ -420,6 +430,7 @@ generatedFiles: - docs/Models/Operations/GetCompanionsDataResponse.md - docs/Models/Operations/GetCountriesLibraryDirectory.md - docs/Models/Operations/GetCountriesLibraryMediaContainer.md + - docs/Models/Operations/GetCountriesLibraryQueryParamType.md - docs/Models/Operations/GetCountriesLibraryRequest.md - docs/Models/Operations/GetCountriesLibraryResponse.md - docs/Models/Operations/GetCountriesLibraryResponseBody.md @@ -430,6 +441,7 @@ generatedFiles: - docs/Models/Operations/GetFileHashResponse.md - docs/Models/Operations/GetGenresLibraryDirectory.md - docs/Models/Operations/GetGenresLibraryMediaContainer.md + - docs/Models/Operations/GetGenresLibraryQueryParamType.md - docs/Models/Operations/GetGenresLibraryRequest.md - docs/Models/Operations/GetGenresLibraryResponse.md - docs/Models/Operations/GetGenresLibraryResponseBody.md @@ -512,24 +524,27 @@ generatedFiles: - docs/Models/Operations/GetLibraryItemsType.md - docs/Models/Operations/GetLibraryItemsUltraBlurColors.md - docs/Models/Operations/GetLibraryItemsWriter.md + - docs/Models/Operations/GetMediaMetaDataCountry.md + - docs/Models/Operations/GetMediaMetaDataDirector.md + - docs/Models/Operations/GetMediaMetaDataGenre.md + - docs/Models/Operations/GetMediaMetaDataImage.md + - docs/Models/Operations/GetMediaMetaDataLocation.md + - docs/Models/Operations/GetMediaMetaDataMedia.md + - docs/Models/Operations/GetMediaMetaDataMediaContainer.md + - docs/Models/Operations/GetMediaMetaDataMetadata.md + - docs/Models/Operations/GetMediaMetaDataPart.md + - docs/Models/Operations/GetMediaMetaDataRequest.md + - docs/Models/Operations/GetMediaMetaDataResponse.md + - docs/Models/Operations/GetMediaMetaDataResponseBody.md + - docs/Models/Operations/GetMediaMetaDataRole.md + - docs/Models/Operations/GetMediaMetaDataStream.md + - docs/Models/Operations/GetMediaMetaDataUltraBlurColors.md + - docs/Models/Operations/GetMediaMetaDataWriter.md - docs/Models/Operations/GetMediaProvidersDirectory.md - docs/Models/Operations/GetMediaProvidersMediaContainer.md - docs/Models/Operations/GetMediaProvidersRequest.md - docs/Models/Operations/GetMediaProvidersResponse.md - docs/Models/Operations/GetMediaProvidersResponseBody.md - - docs/Models/Operations/GetMetaDataByRatingKeyCountry.md - - docs/Models/Operations/GetMetaDataByRatingKeyDirector.md - - docs/Models/Operations/GetMetaDataByRatingKeyGenre.md - - docs/Models/Operations/GetMetaDataByRatingKeyMedia.md - - docs/Models/Operations/GetMetaDataByRatingKeyMediaContainer.md - - docs/Models/Operations/GetMetaDataByRatingKeyMetadata.md - - docs/Models/Operations/GetMetaDataByRatingKeyPart.md - - docs/Models/Operations/GetMetaDataByRatingKeyRequest.md - - docs/Models/Operations/GetMetaDataByRatingKeyResponse.md - - docs/Models/Operations/GetMetaDataByRatingKeyResponseBody.md - - docs/Models/Operations/GetMetaDataByRatingKeyRole.md - - docs/Models/Operations/GetMetaDataByRatingKeyStream.md - - docs/Models/Operations/GetMetaDataByRatingKeyWriter.md - docs/Models/Operations/GetMetadataChildrenDirectory.md - docs/Models/Operations/GetMetadataChildrenMediaContainer.md - docs/Models/Operations/GetMetadataChildrenMetadata.md @@ -816,7 +831,7 @@ generatedFiles: - docs/Models/Operations/QueryParamOnlyTransient.md - docs/Models/Operations/QueryParamSmart.md - docs/Models/Operations/QueryParamType.md - - docs/Models/Operations/Ratings.md + - docs/Models/Operations/Rating.md - docs/Models/Operations/Release.md - docs/Models/Operations/ResponseBody.md - docs/Models/Operations/Restricted.md @@ -831,6 +846,7 @@ generatedFiles: - docs/Models/Operations/SharedServers.md - docs/Models/Operations/SharedSources.md - docs/Models/Operations/ShowOrdering.md + - docs/Models/Operations/Similar.md - docs/Models/Operations/Skip.md - docs/Models/Operations/Smart.md - docs/Models/Operations/Sort.md @@ -970,6 +986,12 @@ generatedFiles: - src/Models/Errors/EnablePaperTrailUnauthorized.php - src/Models/Errors/EnablePaperTrailUnauthorizedThrowable.php - src/Models/Errors/Errors.php + - src/Models/Errors/GetActorsLibraryBadRequest.php + - src/Models/Errors/GetActorsLibraryBadRequestThrowable.php + - src/Models/Errors/GetActorsLibraryErrors.php + - src/Models/Errors/GetActorsLibraryLibraryErrors.php + - src/Models/Errors/GetActorsLibraryUnauthorized.php + - src/Models/Errors/GetActorsLibraryUnauthorizedThrowable.php - src/Models/Errors/GetAllLibrariesBadRequest.php - src/Models/Errors/GetAllLibrariesBadRequestThrowable.php - src/Models/Errors/GetAllLibrariesErrors.php @@ -1066,18 +1088,18 @@ generatedFiles: - src/Models/Errors/GetLibraryItemsLibraryErrors.php - src/Models/Errors/GetLibraryItemsUnauthorized.php - src/Models/Errors/GetLibraryItemsUnauthorizedThrowable.php + - src/Models/Errors/GetMediaMetaDataBadRequest.php + - src/Models/Errors/GetMediaMetaDataBadRequestThrowable.php + - src/Models/Errors/GetMediaMetaDataErrors.php + - src/Models/Errors/GetMediaMetaDataLibraryErrors.php + - src/Models/Errors/GetMediaMetaDataUnauthorized.php + - src/Models/Errors/GetMediaMetaDataUnauthorizedThrowable.php - src/Models/Errors/GetMediaProvidersBadRequest.php - src/Models/Errors/GetMediaProvidersBadRequestThrowable.php - src/Models/Errors/GetMediaProvidersErrors.php - src/Models/Errors/GetMediaProvidersServerErrors.php - src/Models/Errors/GetMediaProvidersUnauthorized.php - src/Models/Errors/GetMediaProvidersUnauthorizedThrowable.php - - src/Models/Errors/GetMetaDataByRatingKeyBadRequest.php - - src/Models/Errors/GetMetaDataByRatingKeyBadRequestThrowable.php - - src/Models/Errors/GetMetaDataByRatingKeyErrors.php - - src/Models/Errors/GetMetaDataByRatingKeyLibraryErrors.php - - src/Models/Errors/GetMetaDataByRatingKeyUnauthorized.php - - src/Models/Errors/GetMetaDataByRatingKeyUnauthorizedThrowable.php - src/Models/Errors/GetMetadataChildrenBadRequest.php - src/Models/Errors/GetMetadataChildrenBadRequestThrowable.php - src/Models/Errors/GetMetadataChildrenErrors.php @@ -1437,6 +1459,12 @@ generatedFiles: - src/Models/Operations/Friend.php - src/Models/Operations/Genre.php - src/Models/Operations/GeoData.php + - src/Models/Operations/GetActorsLibraryDirectory.php + - src/Models/Operations/GetActorsLibraryMediaContainer.php + - src/Models/Operations/GetActorsLibraryQueryParamType.php + - src/Models/Operations/GetActorsLibraryRequest.php + - src/Models/Operations/GetActorsLibraryResponse.php + - src/Models/Operations/GetActorsLibraryResponseBody.php - src/Models/Operations/GetAllLibrariesDirectory.php - src/Models/Operations/GetAllLibrariesLocation.php - src/Models/Operations/GetAllLibrariesMediaContainer.php @@ -1458,6 +1486,7 @@ generatedFiles: - src/Models/Operations/GetCompanionsDataResponse.php - src/Models/Operations/GetCountriesLibraryDirectory.php - src/Models/Operations/GetCountriesLibraryMediaContainer.php + - src/Models/Operations/GetCountriesLibraryQueryParamType.php - src/Models/Operations/GetCountriesLibraryRequest.php - src/Models/Operations/GetCountriesLibraryResponse.php - src/Models/Operations/GetCountriesLibraryResponseBody.php @@ -1468,6 +1497,7 @@ generatedFiles: - src/Models/Operations/GetFileHashResponse.php - src/Models/Operations/GetGenresLibraryDirectory.php - src/Models/Operations/GetGenresLibraryMediaContainer.php + - src/Models/Operations/GetGenresLibraryQueryParamType.php - src/Models/Operations/GetGenresLibraryRequest.php - src/Models/Operations/GetGenresLibraryResponse.php - src/Models/Operations/GetGenresLibraryResponseBody.php @@ -1550,24 +1580,27 @@ generatedFiles: - src/Models/Operations/GetLibraryItemsType.php - src/Models/Operations/GetLibraryItemsUltraBlurColors.php - src/Models/Operations/GetLibraryItemsWriter.php + - src/Models/Operations/GetMediaMetaDataCountry.php + - src/Models/Operations/GetMediaMetaDataDirector.php + - src/Models/Operations/GetMediaMetaDataGenre.php + - src/Models/Operations/GetMediaMetaDataImage.php + - src/Models/Operations/GetMediaMetaDataLocation.php + - src/Models/Operations/GetMediaMetaDataMedia.php + - src/Models/Operations/GetMediaMetaDataMediaContainer.php + - src/Models/Operations/GetMediaMetaDataMetadata.php + - src/Models/Operations/GetMediaMetaDataPart.php + - src/Models/Operations/GetMediaMetaDataRequest.php + - src/Models/Operations/GetMediaMetaDataResponse.php + - src/Models/Operations/GetMediaMetaDataResponseBody.php + - src/Models/Operations/GetMediaMetaDataRole.php + - src/Models/Operations/GetMediaMetaDataStream.php + - src/Models/Operations/GetMediaMetaDataUltraBlurColors.php + - src/Models/Operations/GetMediaMetaDataWriter.php - src/Models/Operations/GetMediaProvidersDirectory.php - src/Models/Operations/GetMediaProvidersMediaContainer.php - src/Models/Operations/GetMediaProvidersRequest.php - src/Models/Operations/GetMediaProvidersResponse.php - src/Models/Operations/GetMediaProvidersResponseBody.php - - src/Models/Operations/GetMetaDataByRatingKeyCountry.php - - src/Models/Operations/GetMetaDataByRatingKeyDirector.php - - src/Models/Operations/GetMetaDataByRatingKeyGenre.php - - src/Models/Operations/GetMetaDataByRatingKeyMedia.php - - src/Models/Operations/GetMetaDataByRatingKeyMediaContainer.php - - src/Models/Operations/GetMetaDataByRatingKeyMetadata.php - - src/Models/Operations/GetMetaDataByRatingKeyPart.php - - src/Models/Operations/GetMetaDataByRatingKeyRequest.php - - src/Models/Operations/GetMetaDataByRatingKeyResponse.php - - src/Models/Operations/GetMetaDataByRatingKeyResponseBody.php - - src/Models/Operations/GetMetaDataByRatingKeyRole.php - - src/Models/Operations/GetMetaDataByRatingKeyStream.php - - src/Models/Operations/GetMetaDataByRatingKeyWriter.php - src/Models/Operations/GetMetadataChildrenDirectory.php - src/Models/Operations/GetMetadataChildrenMediaContainer.php - src/Models/Operations/GetMetadataChildrenMetadata.php @@ -1854,7 +1887,7 @@ generatedFiles: - src/Models/Operations/QueryParamOnlyTransient.php - src/Models/Operations/QueryParamSmart.php - src/Models/Operations/QueryParamType.php - - src/Models/Operations/Ratings.php + - src/Models/Operations/Rating.php - src/Models/Operations/Release.php - src/Models/Operations/ResponseBody.php - src/Models/Operations/Restricted.php @@ -1869,6 +1902,7 @@ generatedFiles: - src/Models/Operations/SharedServers.php - src/Models/Operations/SharedSources.php - src/Models/Operations/ShowOrdering.php + - src/Models/Operations/Similar.php - src/Models/Operations/Skip.php - src/Models/Operations/Smart.php - src/Models/Operations/Sort.php @@ -2947,6 +2981,8 @@ examples: parameters: path: sectionKey: 9518 + query: + type: 2 responses: "200": application/json: {"MediaContainer": {"size": 50, "identifier": "com.plexapp.plugins.library", "allowSync": false, "art": "/:/resources/show-fanart.jpg", "content": "secondary", "mediaTagPrefix": "/system/bundle/media/flags/", "mediaTagVersion": 1734362201, "nocache": true, "thumb": "/:/resources/show.png", "title1": "TV Shows (Reality)", "title2": "By Genre", "viewGroup": "secondary", "Directory": [{"fastKey": "/library/sections/10/all?genre=89", "key": "89", "title": "Action", "type": "genre"}]}} @@ -2959,6 +2995,8 @@ examples: parameters: path: sectionKey: 9518 + query: + type: 2 responses: "200": application/json: {"MediaContainer": {"size": 50, "identifier": "com.plexapp.plugins.library", "allowSync": false, "art": "/:/resources/show-fanart.jpg", "content": "secondary", "mediaTagPrefix": "/system/bundle/media/flags/", "mediaTagVersion": 1734362201, "nocache": true, "thumb": "/:/resources/show.png", "title1": "TV Series", "title2": "By Country", "viewGroup": "secondary", "Directory": [{"fastKey": "/library/sections/2/all?country=15491", "key": "15491", "title": "Japan"}]}} @@ -2990,5 +3028,45 @@ examples: application/json: {"errors": [{"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}, {"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}]} "401": application/json: {"errors": [{"code": 1001, "message": "User could not be authenticated", "status": 401}, {"code": 1001, "message": "User could not be authenticated", "status": 401}]} + get-actors-library: + speakeasy-default-get-actors-library: + parameters: + path: + sectionKey: 9518 + query: + type: 2 + responses: + "200": + application/json: {"MediaContainer": {"size": 50, "allowSync": false, "art": "/:/resources/show-fanart.jpg", "identifier": "com.plexapp.plugins.library", "mediaTagPrefix": "/system/bundle/media/flags/", "mediaTagVersion": 1734362201, "nocache": true, "thumb": "/:/resources/show.png", "title1": "TV Series", "title2": "By Starring Actor", "viewGroup": "secondary", "viewMode": "131131", "Directory": [{"fastKey": "/library/sections/2/all?actor=134671", "thumb": "https://metadata-static.plex.tv/e/people/e2a915b537ef720252b6d408bc1f91b3.jpg", "key": "134671", "title": "Aaron Paul"}, {"fastKey": "/library/sections/2/all?actor=134671", "thumb": "https://metadata-static.plex.tv/e/people/e2a915b537ef720252b6d408bc1f91b3.jpg", "key": "134671", "title": "Aaron Paul"}]}} + "400": + application/json: {"errors": [{"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}, {"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}, {"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}]} + "401": + application/json: {"errors": [{"code": 1001, "message": "User could not be authenticated", "status": 401}, {"code": 1001, "message": "User could not be authenticated", "status": 401}, {"code": 1001, "message": "User could not be authenticated", "status": 401}]} + get-media-meta-data: + speakeasy-default-get-media-meta-data: + parameters: + path: + ratingKey: 9518 + query: + includeConcerts: true + includeExtras: true + includeOnDeck: true + includePopularLeaves: true + includePreferences: true + includeReviews: true + includeChapters: true + includeStations: true + includeExternalMedia: true + asyncAugmentMetadata: true + asyncCheckFiles: true + asyncRefreshAnalysis: true + asyncRefreshLocalMediaAgent: true + responses: + "200": + application/json: {"MediaContainer": {"size": 50, "allowSync": false, "identifier": "com.plexapp.plugins.library", "librarySectionID": 2, "librarySectionTitle": "TV Series", "librarySectionUUID": "e69655a2-ef48-4aba-bb19-0cc34d1e7d36", "mediaTagPrefix": "/system/bundle/media/flags/", "mediaTagVersion": 1734362201, "Metadata": [{"ratingKey": "44288", "parentRatingKey": "48047", "grandparentRatingKey": "45520", "parentGuid": "plex://season/618b89208dde18df707ad15c", "grandparentGuid": "plex://show/5e16253691c20300412003a8", "grandparentSlug": "alice-in-borderland-2020", "grandparentKey": "/library/metadata/45520", "parentKey": "/library/metadata/48047", "key": "/library/metadata/44288/children", "guid": "plex://show/5d9c08254eefaa001f5d6dcb", "slug": "better-call-saul", "studio": "Sony Pictures Television", "type": "show", "title": "Better Call Saul", "originalTitle": "Wicked: Part I", "librarySectionTitle": "TV Series ", "librarySectionID": 2, "librarySectionKey": "/library/sections/2", "contentRating": "TV-MA", "summary": "Before Saul Goodman, he was Jimmy McGill. And if you're calling Jimmy, you're in real trouble. The prequel to \"Breaking Bad\" follows small-time attorney, Jimmy McGill, as he transforms into Walter White's morally challenged lawyer, Saul Goodman.", "index": 1, "grandparentTitle": "Alice in Borderland", "parentTitle": "Season 2", "audienceRating": 8.7, "viewCount": 4, "skipCount": 1, "lastViewedAt": 1625764795, "year": 2015, "tagline": "Make the call", "chapterSource": "media", "primaryExtraKey": "/library/metadata/134704", "thumb": "/library/metadata/44288/thumb/1736487993", "art": "/library/metadata/44288/art/1736487993", "theme": "/library/metadata/44288/theme/1736487993", "duration": 2700000, "originallyAvailableAt": "2015-02-08", "leafCount": 63, "viewedLeafCount": 4, "childCount": 6, "addedAt": 1625505101, "updatedAt": 1736487993, "audienceRatingImage": "themoviedb://image.rating", "parentIndex": 2, "parentThumb": "/library/metadata/48047/thumb/1671800243", "grandparentThumb": "/library/metadata/45520/thumb/1736488003", "grandparentArt": "/library/metadata/45520/art/1736488003", "Media": [{"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "Part": [{"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "container": "mkv", "videoProfile": "main 10", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}]}, {"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "Part": [{"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "container": "mkv", "videoProfile": "main 10", "Stream": []}, {"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "container": "mkv", "videoProfile": "main 10", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}, {"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "container": "mkv", "videoProfile": "main 10", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}]}, {"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "Part": []}], "Image": [{"alt": "Better Call Saul", "type": "coverPoster", "url": "/library/metadata/44288/thumb/1736487993"}, {"alt": "Better Call Saul", "type": "coverPoster", "url": "/library/metadata/44288/thumb/1736487993"}], "UltraBlurColors": {"topLeft": "11333a", "topRight": "1d2721", "bottomRight": "5c451d", "bottomLeft": "372c10"}, "Genre": [{"id": 1057, "filter": "genre=1057", "tag": "Crime"}], "Country": [{"id": 58591, "filter": "country=58591", "tag": "United States of America"}, {"id": 58591, "filter": "country=58591", "tag": "United States of America"}], "Guid": [{"id": "imdb://tt3032476"}], "Rating": [{"image": "imdb://image.rating", "value": 9, "type": "audience"}], "Role": [{"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}, {"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}, {"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}], "Director": [{"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}], "Writer": [{"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}, {"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}], "Producer": [{"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}], "Similar": [{"id": 26, "filter": "similar=26", "tag": "Breaking Bad"}, {"id": 26, "filter": "similar=26", "tag": "Breaking Bad"}, {"id": 26, "filter": "similar=26", "tag": "Breaking Bad"}], "Location": [{"path": "/TV Shows/Better Call Saul"}]}, {"ratingKey": "44288", "parentRatingKey": "48047", "grandparentRatingKey": "45520", "parentGuid": "plex://season/618b89208dde18df707ad15c", "grandparentGuid": "plex://show/5e16253691c20300412003a8", "grandparentSlug": "alice-in-borderland-2020", "grandparentKey": "/library/metadata/45520", "parentKey": "/library/metadata/48047", "key": "/library/metadata/44288/children", "guid": "plex://show/5d9c08254eefaa001f5d6dcb", "slug": "better-call-saul", "studio": "Sony Pictures Television", "type": "show", "title": "Better Call Saul", "originalTitle": "Wicked: Part I", "librarySectionTitle": "TV Series ", "librarySectionID": 2, "librarySectionKey": "/library/sections/2", "contentRating": "TV-MA", "summary": "Before Saul Goodman, he was Jimmy McGill. And if you're calling Jimmy, you're in real trouble. The prequel to \"Breaking Bad\" follows small-time attorney, Jimmy McGill, as he transforms into Walter White's morally challenged lawyer, Saul Goodman.", "index": 1, "grandparentTitle": "Alice in Borderland", "parentTitle": "Season 2", "audienceRating": 8.7, "viewCount": 4, "skipCount": 1, "lastViewedAt": 1625764795, "year": 2015, "tagline": "Make the call", "chapterSource": "media", "primaryExtraKey": "/library/metadata/134704", "thumb": "/library/metadata/44288/thumb/1736487993", "art": "/library/metadata/44288/art/1736487993", "theme": "/library/metadata/44288/theme/1736487993", "duration": 2700000, "originallyAvailableAt": "2015-02-08", "leafCount": 63, "viewedLeafCount": 4, "childCount": 6, "addedAt": 1625505101, "updatedAt": 1736487993, "audienceRatingImage": "themoviedb://image.rating", "parentIndex": 2, "parentThumb": "/library/metadata/48047/thumb/1671800243", "grandparentThumb": "/library/metadata/45520/thumb/1736488003", "grandparentArt": "/library/metadata/45520/art/1736488003", "Media": [{"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "Part": [{"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "container": "mkv", "videoProfile": "main 10", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}]}, {"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "Part": []}], "Image": [], "UltraBlurColors": {"topLeft": "11333a", "topRight": "1d2721", "bottomRight": "5c451d", "bottomLeft": "372c10"}, "Genre": [{"id": 1057, "filter": "genre=1057", "tag": "Crime"}], "Country": [{"id": 58591, "filter": "country=58591", "tag": "United States of America"}, {"id": 58591, "filter": "country=58591", "tag": "United States of America"}], "Guid": [{"id": "imdb://tt3032476"}, {"id": "imdb://tt3032476"}], "Rating": [], "Role": [{"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}], "Director": [{"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}], "Writer": [{"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}, {"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}, {"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}], "Producer": [{"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}, {"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}], "Similar": [{"id": 26, "filter": "similar=26", "tag": "Breaking Bad"}, {"id": 26, "filter": "similar=26", "tag": "Breaking Bad"}], "Location": [{"path": "/TV Shows/Better Call Saul"}, {"path": "/TV Shows/Better Call Saul"}]}, {"ratingKey": "44288", "parentRatingKey": "48047", "grandparentRatingKey": "45520", "parentGuid": "plex://season/618b89208dde18df707ad15c", "grandparentGuid": "plex://show/5e16253691c20300412003a8", "grandparentSlug": "alice-in-borderland-2020", "grandparentKey": "/library/metadata/45520", "parentKey": "/library/metadata/48047", "key": "/library/metadata/44288/children", "guid": "plex://show/5d9c08254eefaa001f5d6dcb", "slug": "better-call-saul", "studio": "Sony Pictures Television", "type": "show", "title": "Better Call Saul", "originalTitle": "Wicked: Part I", "librarySectionTitle": "TV Series ", "librarySectionID": 2, "librarySectionKey": "/library/sections/2", "contentRating": "TV-MA", "summary": "Before Saul Goodman, he was Jimmy McGill. And if you're calling Jimmy, you're in real trouble. The prequel to \"Breaking Bad\" follows small-time attorney, Jimmy McGill, as he transforms into Walter White's morally challenged lawyer, Saul Goodman.", "index": 1, "grandparentTitle": "Alice in Borderland", "parentTitle": "Season 2", "audienceRating": 8.7, "viewCount": 4, "skipCount": 1, "lastViewedAt": 1625764795, "year": 2015, "tagline": "Make the call", "chapterSource": "media", "primaryExtraKey": "/library/metadata/134704", "thumb": "/library/metadata/44288/thumb/1736487993", "art": "/library/metadata/44288/art/1736487993", "theme": "/library/metadata/44288/theme/1736487993", "duration": 2700000, "originallyAvailableAt": "2015-02-08", "leafCount": 63, "viewedLeafCount": 4, "childCount": 6, "addedAt": 1625505101, "updatedAt": 1736487993, "audienceRatingImage": "themoviedb://image.rating", "parentIndex": 2, "parentThumb": "/library/metadata/48047/thumb/1671800243", "grandparentThumb": "/library/metadata/45520/thumb/1736488003", "grandparentArt": "/library/metadata/45520/art/1736488003", "Media": [{"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "Part": [{"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "container": "mkv", "videoProfile": "main 10", "Stream": []}, {"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "container": "mkv", "videoProfile": "main 10", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}, {"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "container": "mkv", "videoProfile": "main 10", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}]}, {"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "Part": [{"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "container": "mkv", "videoProfile": "main 10", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}, {"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "container": "mkv", "videoProfile": "main 10", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}]}], "Image": [{"alt": "Better Call Saul", "type": "coverPoster", "url": "/library/metadata/44288/thumb/1736487993"}], "UltraBlurColors": {"topLeft": "11333a", "topRight": "1d2721", "bottomRight": "5c451d", "bottomLeft": "372c10"}, "Genre": [{"id": 1057, "filter": "genre=1057", "tag": "Crime"}], "Country": [{"id": 58591, "filter": "country=58591", "tag": "United States of America"}, {"id": 58591, "filter": "country=58591", "tag": "United States of America"}], "Guid": [], "Rating": [{"image": "imdb://image.rating", "value": 9, "type": "audience"}, {"image": "imdb://image.rating", "value": 9, "type": "audience"}], "Role": [{"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}, {"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}, {"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}], "Director": [{"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}, {"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}, {"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}], "Writer": [{"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}, {"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}, {"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}], "Producer": [{"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}, {"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}], "Similar": [{"id": 26, "filter": "similar=26", "tag": "Breaking Bad"}, {"id": 26, "filter": "similar=26", "tag": "Breaking Bad"}], "Location": [{"path": "/TV Shows/Better Call Saul"}]}]}} + "400": + application/json: {"errors": [{"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}, {"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}]} + "401": + application/json: {"errors": [{"code": 1001, "message": "User could not be authenticated", "status": 401}, {"code": 1001, "message": "User could not be authenticated", "status": 401}]} examplesVersion: 1.0.0 generatedTests: {} diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index 1a8c66d..46b32b9 100644 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -13,7 +13,7 @@ generation: oAuth2ClientCredentialsEnabled: false oAuth2PasswordEnabled: false php: - version: 0.12.7 + version: 0.12.8 additionalDependencies: autoload: {} autoload-dev: {} diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index 6345611..46e3914 100644 --- a/.speakeasy/workflow.lock +++ b/.speakeasy/workflow.lock @@ -1,4 +1,4 @@ -speakeasyVersion: 1.487.0 +speakeasyVersion: 1.487.1 sources: my-source: sourceNamespace: my-source @@ -9,19 +9,19 @@ sources: - main plexapi: sourceNamespace: plexapi - sourceRevisionDigest: sha256:e6ab335dd91a4165f4510e4a3af8a55819c6310b7e66251266d2384376f3ccae - sourceBlobDigest: sha256:89d1b1133e400c89f0d06efe5e5168f5ba25a413e1ab8380d442d6b233e2e5a9 + sourceRevisionDigest: sha256:49536684a97842ea7c069f909012b31a22a046d8277aee47b50a334494bf2c64 + sourceBlobDigest: sha256:eac671ea32ce31e1e558839153f7effef39bb35b4e461c6e95661d0eaf4ce1c8 tags: - latest - - speakeasy-sdk-regen-1738886997 + - speakeasy-sdk-regen-1738973394 targets: plexphp: source: plexapi sourceNamespace: plexapi - sourceRevisionDigest: sha256:e6ab335dd91a4165f4510e4a3af8a55819c6310b7e66251266d2384376f3ccae - sourceBlobDigest: sha256:89d1b1133e400c89f0d06efe5e5168f5ba25a413e1ab8380d442d6b233e2e5a9 + sourceRevisionDigest: sha256:49536684a97842ea7c069f909012b31a22a046d8277aee47b50a334494bf2c64 + sourceBlobDigest: sha256:eac671ea32ce31e1e558839153f7effef39bb35b4e461c6e95661d0eaf4ce1c8 codeSamplesNamespace: code-samples-php-plexphp - codeSamplesRevisionDigest: sha256:4cdb3c552dcc421fe1fec7e86a97ef907ac0ec2e7879d80bcaf8776e93aff650 + codeSamplesRevisionDigest: sha256:42ec46311046c3e98c773d65c3c11a6c74c7e0c5e5fb37f1b6fa3427ca45ad83 workflow: workflowVersion: 1.0.0 speakeasyVersion: latest diff --git a/README.md b/README.md index 6027508..c0ea724 100644 --- a/README.md +++ b/README.md @@ -170,12 +170,13 @@ if ($response->object !== null) { ### [library](docs/sdks/library/README.md) * [deleteLibrary](docs/sdks/library/README.md#deletelibrary) - Delete Library Section +* [getActorsLibrary](docs/sdks/library/README.md#getactorslibrary) - Get Actors of library media * [getAllLibraries](docs/sdks/library/README.md#getalllibraries) - Get All Libraries * [getCountriesLibrary](docs/sdks/library/README.md#getcountrieslibrary) - Get Countries of library media * [getGenresLibrary](docs/sdks/library/README.md#getgenreslibrary) - Get Genres of library media * [getLibraryDetails](docs/sdks/library/README.md#getlibrarydetails) - Get Library Details * [getLibraryItems](docs/sdks/library/README.md#getlibraryitems) - Get Library Items -* [getMetaDataByRatingKey](docs/sdks/library/README.md#getmetadatabyratingkey) - Get Metadata by RatingKey +* [getMediaMetaData](docs/sdks/library/README.md#getmediametadata) - Get Media Metadata * [getRecentlyAddedLibrary](docs/sdks/library/README.md#getrecentlyaddedlibrary) - Get Recently Added * [getRefreshLibraryMetadata](docs/sdks/library/README.md#getrefreshlibrarymetadata) - Refresh Metadata Of The Library * [getSearchAllLibraries](docs/sdks/library/README.md#getsearchalllibraries) - Search All Libraries diff --git a/RELEASES.md b/RELEASES.md index 1f2efe6..76a2390 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -772,4 +772,14 @@ Based on: ### Generated - [php v0.12.7] . ### Releases -- [Composer v0.12.7] https://packagist.org/packages/lukehagar/plex-api#v0.12.7 - . \ No newline at end of file +- [Composer v0.12.7] https://packagist.org/packages/lukehagar/plex-api#v0.12.7 - . + +## 2025-02-08 00:09:39 +### Changes +Based on: +- OpenAPI Doc +- Speakeasy CLI 1.487.1 (2.506.0) https://github.com/speakeasy-api/speakeasy +### Generated +- [php v0.12.8] . +### Releases +- [Composer v0.12.8] https://packagist.org/packages/lukehagar/plex-api#v0.12.8 - . \ No newline at end of file diff --git a/codeSamples.yaml b/codeSamples.yaml index 3610a83..9cb89be 100644 --- a/codeSamples.yaml +++ b/codeSamples.yaml @@ -768,13 +768,14 @@ actions: update: x-codeSamples: - lang: php - label: key + label: data source: |- declare(strict_types=1); require 'vendor/autoload.php'; use LukeHagar\Plex_API; + use LukeHagar\Plex_API\Models\Operations; $sdk = Plex_API\PlexAPI::builder() ->setSecurity( @@ -782,10 +783,25 @@ actions: ) ->build(); + $request = new Operations\GetMediaMetaDataRequest( + ratingKey: 9518, + includeConcerts: true, + includeExtras: true, + includeOnDeck: true, + includePopularLeaves: true, + includePreferences: true, + includeReviews: true, + includeChapters: true, + includeStations: true, + includeExternalMedia: true, + asyncAugmentMetadata: true, + asyncCheckFiles: true, + asyncRefreshAnalysis: true, + asyncRefreshLocalMediaAgent: true, + ); - - $response = $sdk->library->getMetaDataByRatingKey( - ratingKey: 9518 + $response = $sdk->library->getMediaMetaData( + request: $request ); if ($response->object !== null) { @@ -1109,6 +1125,36 @@ actions: ); + if ($response->object !== null) { + // handle response + } + - target: $["paths"]["/library/sections/{sectionKey}/actor"]["get"] + update: + x-codeSamples: + - lang: php + label: library + source: |- + declare(strict_types=1); + + require 'vendor/autoload.php'; + + use LukeHagar\Plex_API; + use LukeHagar\Plex_API\Models\Operations; + + $sdk = Plex_API\PlexAPI::builder() + ->setSecurity( + '' + ) + ->build(); + + + + $response = $sdk->library->getActorsLibrary( + sectionKey: 9518, + type: Operations\GetActorsLibraryQueryParamType::TvShow + + ); + if ($response->object !== null) { // handle response } @@ -1123,6 +1169,7 @@ actions: require 'vendor/autoload.php'; use LukeHagar\Plex_API; + use LukeHagar\Plex_API\Models\Operations; $sdk = Plex_API\PlexAPI::builder() ->setSecurity( @@ -1133,7 +1180,9 @@ actions: $response = $sdk->library->getCountriesLibrary( - sectionKey: 9518 + sectionKey: 9518, + type: Operations\GetCountriesLibraryQueryParamType::TvShow + ); if ($response->object !== null) { @@ -1150,6 +1199,7 @@ actions: require 'vendor/autoload.php'; use LukeHagar\Plex_API; + use LukeHagar\Plex_API\Models\Operations; $sdk = Plex_API\PlexAPI::builder() ->setSecurity( @@ -1160,7 +1210,9 @@ actions: $response = $sdk->library->getGenresLibrary( - sectionKey: 9518 + sectionKey: 9518, + type: Operations\GetGenresLibraryQueryParamType::TvShow + ); if ($response->object !== null) { diff --git a/docs/Models/Errors/GetMetaDataByRatingKeyBadRequest.md b/docs/Models/Errors/GetActorsLibraryBadRequest.md similarity index 91% rename from docs/Models/Errors/GetMetaDataByRatingKeyBadRequest.md rename to docs/Models/Errors/GetActorsLibraryBadRequest.md index 6bc92c7..a3e310e 100644 --- a/docs/Models/Errors/GetMetaDataByRatingKeyBadRequest.md +++ b/docs/Models/Errors/GetActorsLibraryBadRequest.md @@ -1,4 +1,4 @@ -# GetMetaDataByRatingKeyBadRequest +# GetActorsLibraryBadRequest Bad Request - A parameter was not specified, or was specified incorrectly. @@ -7,5 +7,5 @@ Bad Request - A parameter was not specified, or was specified incorrectly. | Field | Type | Required | Description | | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | -| `errors` | array<[Errors\GetMetaDataByRatingKeyErrors](../../Models/Errors/GetMetaDataByRatingKeyErrors.md)> | :heavy_minus_sign: | N/A | +| `errors` | array<[Errors\GetActorsLibraryErrors](../../Models/Errors/GetActorsLibraryErrors.md)> | :heavy_minus_sign: | N/A | | `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing | \ No newline at end of file diff --git a/docs/Models/Errors/GetMetaDataByRatingKeyErrors.md b/docs/Models/Errors/GetActorsLibraryErrors.md similarity index 96% rename from docs/Models/Errors/GetMetaDataByRatingKeyErrors.md rename to docs/Models/Errors/GetActorsLibraryErrors.md index 6706f97..fde04ca 100644 --- a/docs/Models/Errors/GetMetaDataByRatingKeyErrors.md +++ b/docs/Models/Errors/GetActorsLibraryErrors.md @@ -1,4 +1,4 @@ -# GetMetaDataByRatingKeyErrors +# GetActorsLibraryErrors ## Fields diff --git a/docs/Models/Errors/GetMetaDataByRatingKeyLibraryErrors.md b/docs/Models/Errors/GetActorsLibraryLibraryErrors.md similarity index 95% rename from docs/Models/Errors/GetMetaDataByRatingKeyLibraryErrors.md rename to docs/Models/Errors/GetActorsLibraryLibraryErrors.md index 1eeffc0..7619839 100644 --- a/docs/Models/Errors/GetMetaDataByRatingKeyLibraryErrors.md +++ b/docs/Models/Errors/GetActorsLibraryLibraryErrors.md @@ -1,4 +1,4 @@ -# GetMetaDataByRatingKeyLibraryErrors +# GetActorsLibraryLibraryErrors ## Fields diff --git a/docs/Models/Errors/GetActorsLibraryUnauthorized.md b/docs/Models/Errors/GetActorsLibraryUnauthorized.md new file mode 100644 index 0000000..f5ebe05 --- /dev/null +++ b/docs/Models/Errors/GetActorsLibraryUnauthorized.md @@ -0,0 +1,11 @@ +# GetActorsLibraryUnauthorized + +Unauthorized - Returned if the X-Plex-Token is missing from the header or query. + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `errors` | array<[Errors\GetActorsLibraryLibraryErrors](../../Models/Errors/GetActorsLibraryLibraryErrors.md)> | :heavy_minus_sign: | N/A | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing | \ No newline at end of file diff --git a/docs/Models/Errors/GetMediaMetaDataBadRequest.md b/docs/Models/Errors/GetMediaMetaDataBadRequest.md new file mode 100644 index 0000000..39c35fe --- /dev/null +++ b/docs/Models/Errors/GetMediaMetaDataBadRequest.md @@ -0,0 +1,11 @@ +# GetMediaMetaDataBadRequest + +Bad Request - A parameter was not specified, or was specified incorrectly. + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `errors` | array<[Errors\GetMediaMetaDataErrors](../../Models/Errors/GetMediaMetaDataErrors.md)> | :heavy_minus_sign: | N/A | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing | \ No newline at end of file diff --git a/docs/Models/Errors/GetMediaMetaDataErrors.md b/docs/Models/Errors/GetMediaMetaDataErrors.md new file mode 100644 index 0000000..d70a736 --- /dev/null +++ b/docs/Models/Errors/GetMediaMetaDataErrors.md @@ -0,0 +1,10 @@ +# GetMediaMetaDataErrors + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------- | ----------------------------------- | ----------------------------------- | ----------------------------------- | ----------------------------------- | +| `code` | *?int* | :heavy_minus_sign: | N/A | 1000 | +| `message` | *?string* | :heavy_minus_sign: | N/A | X-Plex-Client-Identifier is missing | +| `status` | *?int* | :heavy_minus_sign: | N/A | 400 | \ No newline at end of file diff --git a/docs/Models/Errors/GetMediaMetaDataLibraryErrors.md b/docs/Models/Errors/GetMediaMetaDataLibraryErrors.md new file mode 100644 index 0000000..f9edb5c --- /dev/null +++ b/docs/Models/Errors/GetMediaMetaDataLibraryErrors.md @@ -0,0 +1,10 @@ +# GetMediaMetaDataLibraryErrors + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | +| `code` | *?int* | :heavy_minus_sign: | N/A | 1001 | +| `message` | *?string* | :heavy_minus_sign: | N/A | User could not be authenticated | +| `status` | *?int* | :heavy_minus_sign: | N/A | 401 | \ No newline at end of file diff --git a/docs/Models/Errors/GetMediaMetaDataUnauthorized.md b/docs/Models/Errors/GetMediaMetaDataUnauthorized.md new file mode 100644 index 0000000..bf7efd9 --- /dev/null +++ b/docs/Models/Errors/GetMediaMetaDataUnauthorized.md @@ -0,0 +1,11 @@ +# GetMediaMetaDataUnauthorized + +Unauthorized - Returned if the X-Plex-Token is missing from the header or query. + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `errors` | array<[Errors\GetMediaMetaDataLibraryErrors](../../Models/Errors/GetMediaMetaDataLibraryErrors.md)> | :heavy_minus_sign: | N/A | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing | \ No newline at end of file diff --git a/docs/Models/Errors/GetMetaDataByRatingKeyUnauthorized.md b/docs/Models/Errors/GetMetaDataByRatingKeyUnauthorized.md deleted file mode 100644 index 881a570..0000000 --- a/docs/Models/Errors/GetMetaDataByRatingKeyUnauthorized.md +++ /dev/null @@ -1,11 +0,0 @@ -# GetMetaDataByRatingKeyUnauthorized - -Unauthorized - Returned if the X-Plex-Token is missing from the header or query. - - -## Fields - -| Field | Type | Required | Description | -| --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | -| `errors` | array<[Errors\GetMetaDataByRatingKeyLibraryErrors](../../Models/Errors/GetMetaDataByRatingKeyLibraryErrors.md)> | :heavy_minus_sign: | N/A | -| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing | \ No newline at end of file diff --git a/docs/Models/Operations/GetActorsLibraryDirectory.md b/docs/Models/Operations/GetActorsLibraryDirectory.md new file mode 100644 index 0000000..6ca490c --- /dev/null +++ b/docs/Models/Operations/GetActorsLibraryDirectory.md @@ -0,0 +1,11 @@ +# GetActorsLibraryDirectory + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `fastKey` | *string* | :heavy_check_mark: | A fast lookup key for the actor relative url. | /library/sections/2/all?actor=134671 | +| `thumb` | *string* | :heavy_check_mark: | URL for the thumbnail image of the actor. | https://metadata-static.plex.tv/e/people/e2a915b537ef720252b6d408bc1f91b3.jpg | +| `key` | *string* | :heavy_check_mark: | A unique key representing the actor. | 134671 | +| `title` | *string* | :heavy_check_mark: | The name of the actor. | Aaron Paul | \ No newline at end of file diff --git a/docs/Models/Operations/GetActorsLibraryMediaContainer.md b/docs/Models/Operations/GetActorsLibraryMediaContainer.md new file mode 100644 index 0000000..f5eb893 --- /dev/null +++ b/docs/Models/Operations/GetActorsLibraryMediaContainer.md @@ -0,0 +1,20 @@ +# GetActorsLibraryMediaContainer + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | +| `size` | *float* | :heavy_check_mark: | N/A | 50 | +| `allowSync` | *bool* | :heavy_check_mark: | Indicates whether syncing is allowed. | false | +| `art` | *string* | :heavy_check_mark: | URL for the background artwork of the media container. | /:/resources/show-fanart.jpg | +| `identifier` | *string* | :heavy_check_mark: | An plugin identifier for the media container. | com.plexapp.plugins.library | +| `mediaTagPrefix` | *string* | :heavy_check_mark: | The prefix used for media tag resource paths. | /system/bundle/media/flags/ | +| `mediaTagVersion` | *int* | :heavy_check_mark: | The version number for media tags. | 1734362201 | +| `nocache` | *bool* | :heavy_check_mark: | Specifies whether caching is disabled. | true | +| `thumb` | *string* | :heavy_check_mark: | URL for the thumbnail image of the media container. | /:/resources/show.png | +| `title1` | *string* | :heavy_check_mark: | The primary title of the media container. | TV Series | +| `title2` | *string* | :heavy_check_mark: | The secondary title of the media container. | By Starring Actor | +| `viewGroup` | *string* | :heavy_check_mark: | Identifier for the view group layout. | secondary | +| `viewMode` | *string* | :heavy_check_mark: | Identifier for the view mode. | 131131 | +| `directory` | array<[Operations\GetActorsLibraryDirectory](../../Models/Operations/GetActorsLibraryDirectory.md)> | :heavy_minus_sign: | An array of actor entries for media items. | | \ No newline at end of file diff --git a/docs/Models/Operations/GetActorsLibraryQueryParamType.md b/docs/Models/Operations/GetActorsLibraryQueryParamType.md new file mode 100644 index 0000000..c370962 --- /dev/null +++ b/docs/Models/Operations/GetActorsLibraryQueryParamType.md @@ -0,0 +1,22 @@ +# GetActorsLibraryQueryParamType + +The type of media to retrieve or filter by. +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 + + + +## Values + +| Name | Value | +| --------- | --------- | +| `Movie` | 1 | +| `TvShow` | 2 | +| `Season` | 3 | +| `Episode` | 4 | +| `Audio` | 8 | +| `Album` | 9 | +| `Track` | 10 | \ No newline at end of file diff --git a/docs/Models/Operations/GetActorsLibraryRequest.md b/docs/Models/Operations/GetActorsLibraryRequest.md new file mode 100644 index 0000000..c2bbb61 --- /dev/null +++ b/docs/Models/Operations/GetActorsLibraryRequest.md @@ -0,0 +1,9 @@ +# GetActorsLibraryRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `sectionKey` | *int* | :heavy_check_mark: | The unique key of the Plex library.
Note: This is unique in the context of the Plex server.
| 9518 | +| `type` | [Operations\GetActorsLibraryQueryParamType](../../Models/Operations/GetActorsLibraryQueryParamType.md) | :heavy_check_mark: | The type of media to retrieve or filter by.
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 | \ No newline at end of file diff --git a/docs/Models/Operations/GetActorsLibraryResponse.md b/docs/Models/Operations/GetActorsLibraryResponse.md new file mode 100644 index 0000000..775baa7 --- /dev/null +++ b/docs/Models/Operations/GetActorsLibraryResponse.md @@ -0,0 +1,11 @@ +# GetActorsLibraryResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `object` | [?Operations\GetActorsLibraryResponseBody](../../Models/Operations/GetActorsLibraryResponseBody.md) | :heavy_minus_sign: | Successful response containing media container data. | \ No newline at end of file diff --git a/docs/Models/Operations/GetActorsLibraryResponseBody.md b/docs/Models/Operations/GetActorsLibraryResponseBody.md new file mode 100644 index 0000000..e86f4b9 --- /dev/null +++ b/docs/Models/Operations/GetActorsLibraryResponseBody.md @@ -0,0 +1,10 @@ +# GetActorsLibraryResponseBody + +Successful response containing media container data. + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | +| `mediaContainer` | [?Operations\GetActorsLibraryMediaContainer](../../Models/Operations/GetActorsLibraryMediaContainer.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/GetCountriesLibraryQueryParamType.md b/docs/Models/Operations/GetCountriesLibraryQueryParamType.md new file mode 100644 index 0000000..722cb19 --- /dev/null +++ b/docs/Models/Operations/GetCountriesLibraryQueryParamType.md @@ -0,0 +1,22 @@ +# GetCountriesLibraryQueryParamType + +The type of media to retrieve or filter by. +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 + + + +## Values + +| Name | Value | +| --------- | --------- | +| `Movie` | 1 | +| `TvShow` | 2 | +| `Season` | 3 | +| `Episode` | 4 | +| `Audio` | 8 | +| `Album` | 9 | +| `Track` | 10 | \ No newline at end of file diff --git a/docs/Models/Operations/GetCountriesLibraryRequest.md b/docs/Models/Operations/GetCountriesLibraryRequest.md index d52503e..b50165d 100644 --- a/docs/Models/Operations/GetCountriesLibraryRequest.md +++ b/docs/Models/Operations/GetCountriesLibraryRequest.md @@ -3,6 +3,7 @@ ## Fields -| Field | Type | Required | Description | Example | -| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | -| `sectionKey` | *int* | :heavy_check_mark: | The unique key of the Plex library.
Note: This is unique in the context of the Plex server.
| 9518 | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `sectionKey` | *int* | :heavy_check_mark: | The unique key of the Plex library.
Note: This is unique in the context of the Plex server.
| 9518 | +| `type` | [Operations\GetCountriesLibraryQueryParamType](../../Models/Operations/GetCountriesLibraryQueryParamType.md) | :heavy_check_mark: | The type of media to retrieve or filter by.
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 | \ No newline at end of file diff --git a/docs/Models/Operations/GetGenresLibraryQueryParamType.md b/docs/Models/Operations/GetGenresLibraryQueryParamType.md new file mode 100644 index 0000000..4ef877e --- /dev/null +++ b/docs/Models/Operations/GetGenresLibraryQueryParamType.md @@ -0,0 +1,22 @@ +# GetGenresLibraryQueryParamType + +The type of media to retrieve or filter by. +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 + + + +## Values + +| Name | Value | +| --------- | --------- | +| `Movie` | 1 | +| `TvShow` | 2 | +| `Season` | 3 | +| `Episode` | 4 | +| `Audio` | 8 | +| `Album` | 9 | +| `Track` | 10 | \ No newline at end of file diff --git a/docs/Models/Operations/GetGenresLibraryRequest.md b/docs/Models/Operations/GetGenresLibraryRequest.md index 59c9627..e68283f 100644 --- a/docs/Models/Operations/GetGenresLibraryRequest.md +++ b/docs/Models/Operations/GetGenresLibraryRequest.md @@ -3,6 +3,7 @@ ## Fields -| Field | Type | Required | Description | Example | -| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | -| `sectionKey` | *int* | :heavy_check_mark: | The unique key of the Plex library.
Note: This is unique in the context of the Plex server.
| 9518 | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `sectionKey` | *int* | :heavy_check_mark: | The unique key of the Plex library.
Note: This is unique in the context of the Plex server.
| 9518 | +| `type` | [Operations\GetGenresLibraryQueryParamType](../../Models/Operations/GetGenresLibraryQueryParamType.md) | :heavy_check_mark: | The type of media to retrieve or filter by.
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 | \ No newline at end of file diff --git a/docs/Models/Operations/GetLibraryItemsQueryParamType.md b/docs/Models/Operations/GetLibraryItemsQueryParamType.md index c0b1304..2aa19a3 100644 --- a/docs/Models/Operations/GetLibraryItemsQueryParamType.md +++ b/docs/Models/Operations/GetLibraryItemsQueryParamType.md @@ -1,6 +1,6 @@ # GetLibraryItemsQueryParamType -The type of media to retrieve. +The type of media to retrieve or filter by. 1 = movie 2 = show 3 = season diff --git a/docs/Models/Operations/GetLibraryItemsRequest.md b/docs/Models/Operations/GetLibraryItemsRequest.md index a1ceae2..fc23b8c 100644 --- a/docs/Models/Operations/GetLibraryItemsRequest.md +++ b/docs/Models/Operations/GetLibraryItemsRequest.md @@ -3,12 +3,12 @@ ## Fields -| Field | Type | Required | Description | Example | -| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `tag` | [Operations\Tag](../../Models/Operations/Tag.md) | :heavy_check_mark: | A key representing a specific tag within the section. | | -| `sectionKey` | *int* | :heavy_check_mark: | The unique key of the Plex library.
Note: This is unique in the context of the Plex server.
| 9518 | -| `includeGuids` | [?Operations\IncludeGuids](../../Models/Operations/IncludeGuids.md) | :heavy_minus_sign: | Adds the Guids object to the response
| 1 | -| `type` | [?Operations\GetLibraryItemsQueryParamType](../../Models/Operations/GetLibraryItemsQueryParamType.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 | -| `includeMeta` | [?Operations\GetLibraryItemsQueryParamIncludeMeta](../../Models/Operations/GetLibraryItemsQueryParamIncludeMeta.md) | :heavy_minus_sign: | Adds the Meta object to the response
| 1 | -| `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 +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `tag` | [Operations\Tag](../../Models/Operations/Tag.md) | :heavy_check_mark: | A key representing a specific tag within the section. | | +| `type` | [Operations\GetLibraryItemsQueryParamType](../../Models/Operations/GetLibraryItemsQueryParamType.md) | :heavy_check_mark: | The type of media to retrieve or filter by.
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 | +| `sectionKey` | *int* | :heavy_check_mark: | The unique key of the Plex library.
Note: This is unique in the context of the Plex server.
| 9518 | +| `includeGuids` | [?Operations\IncludeGuids](../../Models/Operations/IncludeGuids.md) | :heavy_minus_sign: | Adds the Guids object to the response
| 1 | +| `includeMeta` | [?Operations\GetLibraryItemsQueryParamIncludeMeta](../../Models/Operations/GetLibraryItemsQueryParamIncludeMeta.md) | :heavy_minus_sign: | Adds the Meta object to the response
| 1 | +| `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/GetMediaMetaDataCountry.md b/docs/Models/Operations/GetMediaMetaDataCountry.md new file mode 100644 index 0000000..c3f5b79 --- /dev/null +++ b/docs/Models/Operations/GetMediaMetaDataCountry.md @@ -0,0 +1,10 @@ +# GetMediaMetaDataCountry + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- | +| `id` | *int* | :heavy_check_mark: | The unique country identifier. | 58591 | +| `filter` | *string* | :heavy_check_mark: | The filter string for the country. | country=58591 | +| `tag` | *string* | :heavy_check_mark: | The country name. | United States of America | \ No newline at end of file diff --git a/docs/Models/Operations/GetMediaMetaDataDirector.md b/docs/Models/Operations/GetMediaMetaDataDirector.md new file mode 100644 index 0000000..a5a604a --- /dev/null +++ b/docs/Models/Operations/GetMediaMetaDataDirector.md @@ -0,0 +1,13 @@ +# GetMediaMetaDataDirector + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `id` | *int* | :heavy_check_mark: | The unique role identifier. | 109501 | +| `filter` | *string* | :heavy_check_mark: | The filter string for the role. | actor=109501 | +| `tag` | *string* | :heavy_check_mark: | The actor's name. | Bob Odenkirk | +| `tagKey` | *string* | :heavy_check_mark: | A key associated with the actor tag. | 5d77683254f42c001f8c3f69 | +| `role` | *?string* | :heavy_minus_sign: | The character name or role. | Jimmy McGill | +| `thumb` | *?string* | :heavy_minus_sign: | URL for the role thumbnail image. | https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg | \ No newline at end of file diff --git a/docs/Models/Operations/GetMediaMetaDataGenre.md b/docs/Models/Operations/GetMediaMetaDataGenre.md new file mode 100644 index 0000000..b651569 --- /dev/null +++ b/docs/Models/Operations/GetMediaMetaDataGenre.md @@ -0,0 +1,10 @@ +# GetMediaMetaDataGenre + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------- | -------------------------------- | -------------------------------- | -------------------------------- | -------------------------------- | +| `id` | *int* | :heavy_check_mark: | The unique genre identifier. | 1057 | +| `filter` | *string* | :heavy_check_mark: | The filter string for the genre. | genre=1057 | +| `tag` | *string* | :heavy_check_mark: | The genre name. | Crime | \ No newline at end of file diff --git a/docs/Models/Operations/GetMediaMetaDataImage.md b/docs/Models/Operations/GetMediaMetaDataImage.md new file mode 100644 index 0000000..5eebd60 --- /dev/null +++ b/docs/Models/Operations/GetMediaMetaDataImage.md @@ -0,0 +1,10 @@ +# GetMediaMetaDataImage + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | +| `alt` | *string* | :heavy_check_mark: | Alternate text for the image. | Better Call Saul | +| `type` | *string* | :heavy_check_mark: | The type of image (e.g., coverPoster, background, clearLogo). | coverPoster | +| `url` | *string* | :heavy_check_mark: | The URL of the image. | /library/metadata/44288/thumb/1736487993 | \ No newline at end of file diff --git a/docs/Models/Operations/GetMediaMetaDataLocation.md b/docs/Models/Operations/GetMediaMetaDataLocation.md new file mode 100644 index 0000000..c17e2d1 --- /dev/null +++ b/docs/Models/Operations/GetMediaMetaDataLocation.md @@ -0,0 +1,8 @@ +# GetMediaMetaDataLocation + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | +| `path` | *string* | :heavy_check_mark: | The file path for the location. | /TV Shows/Better Call Saul | \ No newline at end of file diff --git a/docs/Models/Operations/GetMediaMetaDataMedia.md b/docs/Models/Operations/GetMediaMetaDataMedia.md new file mode 100644 index 0000000..7aa1379 --- /dev/null +++ b/docs/Models/Operations/GetMediaMetaDataMedia.md @@ -0,0 +1,22 @@ +# GetMediaMetaDataMedia + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | +| `id` | *int* | :heavy_check_mark: | Unique media identifier. | 387322 | +| `duration` | *int* | :heavy_check_mark: | Duration of the media in milliseconds. | 9610350 | +| `bitrate` | *int* | :heavy_check_mark: | Bitrate in bits per second. | 25512 | +| `width` | *int* | :heavy_check_mark: | Video width in pixels. | 3840 | +| `height` | *int* | :heavy_check_mark: | Video height in pixels. | 1602 | +| `aspectRatio` | *float* | :heavy_check_mark: | Aspect ratio of the video. | 2.35 | +| `audioChannels` | *int* | :heavy_check_mark: | Number of audio channels. | 6 | +| `audioCodec` | *string* | :heavy_check_mark: | Audio codec used. | eac3 | +| `videoCodec` | *string* | :heavy_check_mark: | Video codec used. | hevc | +| `videoResolution` | *string* | :heavy_check_mark: | Video resolution (e.g., 4k). | 4k | +| `container` | *string* | :heavy_check_mark: | File container type. | mkv | +| `videoFrameRate` | *string* | :heavy_check_mark: | Frame rate of the video (e.g., 24p). | 24p | +| `videoProfile` | *string* | :heavy_check_mark: | Video profile (e.g., main 10). | main 10 | +| `hasVoiceActivity` | *bool* | :heavy_check_mark: | Indicates whether voice activity is detected. | false | +| `part` | array<[Operations\GetMediaMetaDataPart](../../Models/Operations/GetMediaMetaDataPart.md)> | :heavy_check_mark: | An array of parts for this media item. | | \ No newline at end of file diff --git a/docs/Models/Operations/GetMediaMetaDataMediaContainer.md b/docs/Models/Operations/GetMediaMetaDataMediaContainer.md new file mode 100644 index 0000000..7bcf33c --- /dev/null +++ b/docs/Models/Operations/GetMediaMetaDataMediaContainer.md @@ -0,0 +1,16 @@ +# GetMediaMetaDataMediaContainer + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | +| `size` | *float* | :heavy_check_mark: | N/A | 50 | +| `allowSync` | *bool* | :heavy_check_mark: | Indicates whether syncing is allowed. | false | +| `identifier` | *string* | :heavy_check_mark: | An plugin identifier for the media container. | com.plexapp.plugins.library | +| `librarySectionID` | *int* | :heavy_check_mark: | The unique identifier for the library section. | 2 | +| `librarySectionTitle` | *string* | :heavy_check_mark: | The title of the library section. | TV Series | +| `mediaTagPrefix` | *string* | :heavy_check_mark: | The prefix used for media tag resource paths. | /system/bundle/media/flags/ | +| `mediaTagVersion` | *int* | :heavy_check_mark: | The version number for media tags. | 1734362201 | +| `metadata` | array<[Operations\GetMediaMetaDataMetadata](../../Models/Operations/GetMediaMetaDataMetadata.md)> | :heavy_check_mark: | An array of metadata items. | | +| `librarySectionUUID` | *?string* | :heavy_minus_sign: | The universally unique identifier for the library section. | e69655a2-ef48-4aba-bb19-0cc34d1e7d36 | \ No newline at end of file diff --git a/docs/Models/Operations/GetMetaDataByRatingKeyMetadata.md b/docs/Models/Operations/GetMediaMetaDataMetadata.md similarity index 54% rename from docs/Models/Operations/GetMetaDataByRatingKeyMetadata.md rename to docs/Models/Operations/GetMediaMetaDataMetadata.md index c4da7d4..dc29fda 100644 --- a/docs/Models/Operations/GetMetaDataByRatingKeyMetadata.md +++ b/docs/Models/Operations/GetMediaMetaDataMetadata.md @@ -1,45 +1,66 @@ -# GetMetaDataByRatingKeyMetadata +# GetMediaMetaDataMetadata ## Fields -| Field | Type | Required | Description | Example | -| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `ratingKey` | *?string* | :heavy_minus_sign: | N/A | 17 | -| `key` | *?string* | :heavy_minus_sign: | N/A | /library/metadata/17 | -| `guid` | *?string* | :heavy_minus_sign: | N/A | plex://movie/5d77683f6f4521001ea9dc53 | -| `studio` | *?string* | :heavy_minus_sign: | N/A | Universal Pictures | -| `type` | *?string* | :heavy_minus_sign: | N/A | movie | -| `title` | *?string* | :heavy_minus_sign: | N/A | Serenity | -| `librarySectionTitle` | *?string* | :heavy_minus_sign: | N/A | Movies | -| `librarySectionID` | *?int* | :heavy_minus_sign: | N/A | 1 | -| `librarySectionKey` | *?string* | :heavy_minus_sign: | N/A | /library/sections/1 | -| `grandparentTitle` | *?string* | :heavy_minus_sign: | The name of the album artist for the track when audio, and the name of the TV show for the episode when video. | | -| `parentTitle` | *?string* | :heavy_minus_sign: | The name of the album for the track when audio, and the name of the season for the episode when TV show. | | -| `originalTitle` | *?string* | :heavy_minus_sign: | The orginal untranslated name of the media item when non-english. | | -| `index` | *?int* | :heavy_minus_sign: | The index starting from 0 of this media item in the MetaData array. | | -| `parentIndex` | *?int* | :heavy_minus_sign: | The parent index starting from 0 of this media item in the parent MetaData array. | | -| `contentRating` | *?string* | :heavy_minus_sign: | N/A | PG-13 | -| `summary` | *?string* | :heavy_minus_sign: | N/A | Serenity continues the story of the TV series it was based upon ("Firefly"). River Tam had a secret - one in which she's not even aware - so dangerous, no one's safe, as an Alliance operative's sent to capture her, and all others are considered irrelevant to his job. | -| `rating` | *?float* | :heavy_minus_sign: | N/A | 8.2 | -| `audienceRating` | *?float* | :heavy_minus_sign: | N/A | 9.1 | -| `year` | *?int* | :heavy_minus_sign: | N/A | 2005 | -| `tagline` | *?string* | :heavy_minus_sign: | N/A | They aim to misbehave. | -| `thumb` | *?string* | :heavy_minus_sign: | N/A | /library/metadata/17/thumb/1705637165 | -| `art` | *?string* | :heavy_minus_sign: | N/A | /library/metadata/17/art/1705637165 | -| `duration` | *?int* | :heavy_minus_sign: | N/A | 141417 | -| `originallyAvailableAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_minus_sign: | N/A | 2005-09-29 00:00:00 +0000 UTC | -| `addedAt` | *?int* | :heavy_minus_sign: | N/A | 1705637164 | -| `updatedAt` | *?int* | :heavy_minus_sign: | N/A | 1705637165 | -| `audienceRatingImage` | *?string* | :heavy_minus_sign: | N/A | rottentomatoes://image.rating.upright | -| `hasPremiumPrimaryExtra` | *?string* | :heavy_minus_sign: | N/A | 1 | -| `ratingImage` | *?string* | :heavy_minus_sign: | N/A | rottentomatoes://image.rating.ripe | -| `media` | array<[Operations\GetMetaDataByRatingKeyMedia](../../Models/Operations/GetMetaDataByRatingKeyMedia.md)> | :heavy_minus_sign: | N/A | | -| `genre` | array<[Operations\GetMetaDataByRatingKeyGenre](../../Models/Operations/GetMetaDataByRatingKeyGenre.md)> | :heavy_minus_sign: | N/A | | -| `country` | array<[Operations\GetMetaDataByRatingKeyCountry](../../Models/Operations/GetMetaDataByRatingKeyCountry.md)> | :heavy_minus_sign: | N/A | | -| `guids` | array<[Operations\Guids](../../Models/Operations/Guids.md)> | :heavy_minus_sign: | N/A | | -| `ratings` | array<[Operations\Ratings](../../Models/Operations/Ratings.md)> | :heavy_minus_sign: | N/A | | -| `director` | array<[Operations\GetMetaDataByRatingKeyDirector](../../Models/Operations/GetMetaDataByRatingKeyDirector.md)> | :heavy_minus_sign: | N/A | | -| `writer` | array<[Operations\GetMetaDataByRatingKeyWriter](../../Models/Operations/GetMetaDataByRatingKeyWriter.md)> | :heavy_minus_sign: | N/A | | -| `role` | array<[Operations\GetMetaDataByRatingKeyRole](../../Models/Operations/GetMetaDataByRatingKeyRole.md)> | :heavy_minus_sign: | N/A | | -| `producer` | array<[Operations\Producer](../../Models/Operations/Producer.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `ratingKey` | *string* | :heavy_check_mark: | The rating key of the metadata item. | 44288 | +| `key` | *string* | :heavy_check_mark: | The API key to access metadata details. | /library/metadata/44288/children | +| `guid` | *string* | :heavy_check_mark: | The globally unique identifier for the item. | plex://show/5d9c08254eefaa001f5d6dcb | +| `type` | *string* | :heavy_check_mark: | The type of content (e.g., show, movie). | show | +| `title` | *string* | :heavy_check_mark: | The title of the content. | Better Call Saul | +| `librarySectionTitle` | *string* | :heavy_check_mark: | The title of the library section. | TV Series | +| `librarySectionID` | *int* | :heavy_check_mark: | The ID of the library section. | 2 | +| `librarySectionKey` | *string* | :heavy_check_mark: | The key of the library section. | /library/sections/2 | +| `contentRating` | *string* | :heavy_check_mark: | The content rating (e.g., TV-MA). | TV-MA | +| `summary` | *string* | :heavy_check_mark: | A summary of the content. | Before Saul Goodman, he was Jimmy McGill. And if you're calling Jimmy, you're in real trouble. The prequel to "Breaking Bad" follows small-time attorney, Jimmy McGill, as he transforms into Walter White's morally challenged lawyer, Saul Goodman. | +| `audienceRating` | *float* | :heavy_check_mark: | The audience rating for the content. | 8.7 | +| `year` | *int* | :heavy_check_mark: | The release year. | 2015 | +| `thumb` | *string* | :heavy_check_mark: | URL of the thumbnail image. | /library/metadata/44288/thumb/1736487993 | +| `art` | *string* | :heavy_check_mark: | URL of the art image. | /library/metadata/44288/art/1736487993 | +| `duration` | *int* | :heavy_check_mark: | Duration of the content in milliseconds. | 2700000 | +| `originallyAvailableAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The original release date. | 2015-02-08 | +| `addedAt` | *int* | :heavy_check_mark: | Unix timestamp when the item was added. | 1625505101 | +| `updatedAt` | *int* | :heavy_check_mark: | Unix timestamp when the item was last updated. | 1736487993 | +| `audienceRatingImage` | *string* | :heavy_check_mark: | The URL for the audience rating image. | themoviedb://image.rating | +| `image` | array<[Operations\GetMediaMetaDataImage](../../Models/Operations/GetMediaMetaDataImage.md)> | :heavy_check_mark: | An array of image objects. | | +| `ultraBlurColors` | [Operations\GetMediaMetaDataUltraBlurColors](../../Models/Operations/GetMediaMetaDataUltraBlurColors.md) | :heavy_check_mark: | N/A | | +| `guids` | array<[Operations\Guids](../../Models/Operations/Guids.md)> | :heavy_check_mark: | An array of GUID objects. | | +| `rating` | array<[Operations\Rating](../../Models/Operations/Rating.md)> | :heavy_check_mark: | An array of rating objects. | | +| `parentRatingKey` | *?string* | :heavy_minus_sign: | The rating key of the parent of this metadata item. | 48047 | +| `grandparentRatingKey` | *?string* | :heavy_minus_sign: | The rating key of the grandparent of this metadata item. | 45520 | +| `parentGuid` | *?string* | :heavy_minus_sign: | A GUID identifying the parent entity (e.g., season) for the item. | plex://season/618b89208dde18df707ad15c | +| `grandparentGuid` | *?string* | :heavy_minus_sign: | A GUID identifying the grandparent entity (e.g., show). | plex://show/5e16253691c20300412003a8 | +| `grandparentSlug` | *?string* | :heavy_minus_sign: | A URL-friendly identifier (slug) for the grandparent entity. | alice-in-borderland-2020 | +| `grandparentKey` | *?string* | :heavy_minus_sign: | A key identifying the grandparent metadata in the library. | /library/metadata/45520 | +| `parentKey` | *?string* | :heavy_minus_sign: | A key identifying the parent metadata in the library. | /library/metadata/48047 | +| `slug` | *?string* | :heavy_minus_sign: | A URL-friendly identifier for the item. | better-call-saul | +| `studio` | *?string* | :heavy_minus_sign: | The studio that produced the content. | Sony Pictures Television | +| `originalTitle` | *?string* | :heavy_minus_sign: | The original title of the content. | Wicked: Part I | +| `index` | *?int* | :heavy_minus_sign: | The index or order of the item. | 1 | +| `grandparentTitle` | *?string* | :heavy_minus_sign: | The title of the grandparent entity (typically the show's title). | Alice in Borderland | +| `parentTitle` | *?string* | :heavy_minus_sign: | The title of the parent entity (typically the season's title). | Season 2 | +| `viewCount` | *?int* | :heavy_minus_sign: | The number of times the item has been viewed. | 4 | +| `skipCount` | *?int* | :heavy_minus_sign: | The number of times the item has been skipped. | 1 | +| `lastViewedAt` | *?int* | :heavy_minus_sign: | Unix timestamp of when the item was last viewed. | 1625764795 | +| `tagline` | *?string* | :heavy_minus_sign: | The tagline of the content. | Make the call | +| `chapterSource` | *?string* | :heavy_minus_sign: | N/A | media | +| `primaryExtraKey` | *?string* | :heavy_minus_sign: | N/A | /library/metadata/134704 | +| `theme` | *?string* | :heavy_minus_sign: | URL of the theme image. | /library/metadata/44288/theme/1736487993 | +| `leafCount` | *?int* | :heavy_minus_sign: | The total number of episodes (or leaves). | 63 | +| `viewedLeafCount` | *?int* | :heavy_minus_sign: | The number of episodes that have been viewed. | 4 | +| `childCount` | *?int* | :heavy_minus_sign: | The number of child items. | 6 | +| `parentIndex` | *?int* | :heavy_minus_sign: | The index number of the parent entity, which could indicate its order or position. | 2 | +| `parentThumb` | *?string* | :heavy_minus_sign: | The URL of the parent's thumbnail image. | /library/metadata/48047/thumb/1671800243 | +| `grandparentThumb` | *?string* | :heavy_minus_sign: | The URL of the grandparent's thumbnail image. | /library/metadata/45520/thumb/1736488003 | +| `grandparentArt` | *?string* | :heavy_minus_sign: | The URL of the grandparent's art image. | /library/metadata/45520/art/1736488003 | +| `media` | array<[Operations\GetMediaMetaDataMedia](../../Models/Operations/GetMediaMetaDataMedia.md)> | :heavy_minus_sign: | N/A | | +| `genre` | array<[Operations\GetMediaMetaDataGenre](../../Models/Operations/GetMediaMetaDataGenre.md)> | :heavy_minus_sign: | An array of genre tags. | | +| `country` | array<[Operations\GetMediaMetaDataCountry](../../Models/Operations/GetMediaMetaDataCountry.md)> | :heavy_minus_sign: | An array of country tags. | | +| `role` | array<[Operations\GetMediaMetaDataRole](../../Models/Operations/GetMediaMetaDataRole.md)> | :heavy_minus_sign: | An array of Actor roles. | | +| `director` | array<[Operations\GetMediaMetaDataDirector](../../Models/Operations/GetMediaMetaDataDirector.md)> | :heavy_minus_sign: | An array of Director roles. | | +| `writer` | array<[Operations\GetMediaMetaDataWriter](../../Models/Operations/GetMediaMetaDataWriter.md)> | :heavy_minus_sign: | An array of Writer roles. | | +| `producer` | array<[Operations\Producer](../../Models/Operations/Producer.md)> | :heavy_minus_sign: | An array of Writer roles. | | +| `similar` | array<[Operations\Similar](../../Models/Operations/Similar.md)> | :heavy_minus_sign: | An array of similar content objects. | | +| `location` | array<[Operations\GetMediaMetaDataLocation](../../Models/Operations/GetMediaMetaDataLocation.md)> | :heavy_minus_sign: | An array of location objects. | | \ No newline at end of file diff --git a/docs/Models/Operations/GetMediaMetaDataPart.md b/docs/Models/Operations/GetMediaMetaDataPart.md new file mode 100644 index 0000000..2db907a --- /dev/null +++ b/docs/Models/Operations/GetMediaMetaDataPart.md @@ -0,0 +1,18 @@ +# GetMediaMetaDataPart + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | +| `id` | *int* | :heavy_check_mark: | Unique part identifier. | 418385 | +| `key` | *string* | :heavy_check_mark: | Key to access this part. | /library/parts/418385/1735864239/file.mkv | +| `duration` | *int* | :heavy_check_mark: | Duration of the part in milliseconds. | 9610350 | +| `file` | *string* | :heavy_check_mark: | File path for the part. | /mnt/Movies_1/W/Wicked (2024).mkv | +| `size` | *int* | :heavy_check_mark: | File size in bytes. | 30649952104 | +| `container` | *string* | :heavy_check_mark: | Container format of the part. | mkv | +| `videoProfile` | *string* | :heavy_check_mark: | Video profile for the part. | main 10 | +| `stream` | array<[Operations\GetMediaMetaDataStream](../../Models/Operations/GetMediaMetaDataStream.md)> | :heavy_check_mark: | An array of streams for this part. | | +| `accessible` | *?bool* | :heavy_minus_sign: | Indicates if the part is accessible. | true | +| `exists` | *?bool* | :heavy_minus_sign: | Indicates if the part exists. | true | +| `indexes` | *?string* | :heavy_minus_sign: | N/A | sd | \ No newline at end of file diff --git a/docs/Models/Operations/GetMediaMetaDataRequest.md b/docs/Models/Operations/GetMediaMetaDataRequest.md new file mode 100644 index 0000000..6229fff --- /dev/null +++ b/docs/Models/Operations/GetMediaMetaDataRequest.md @@ -0,0 +1,21 @@ +# GetMediaMetaDataRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ | +| `ratingKey` | *int* | :heavy_check_mark: | the id of the library item to return the children of. | 9518 | +| `includeConcerts` | *?bool* | :heavy_minus_sign: | Include concerts data if set to true. | true | +| `includeExtras` | *?bool* | :heavy_minus_sign: | Include extra content (e.g. bonus features). | true | +| `includeOnDeck` | *?bool* | :heavy_minus_sign: | Include on-deck items. | true | +| `includePopularLeaves` | *?bool* | :heavy_minus_sign: | Include popular leaves (episodes/chapters). | true | +| `includePreferences` | *?bool* | :heavy_minus_sign: | Include preferences information. | true | +| `includeReviews` | *?bool* | :heavy_minus_sign: | Include reviews for the content. | true | +| `includeChapters` | *?bool* | :heavy_minus_sign: | Include chapter details. | true | +| `includeStations` | *?bool* | :heavy_minus_sign: | Include station data. | true | +| `includeExternalMedia` | *?bool* | :heavy_minus_sign: | Include external media data. | true | +| `asyncAugmentMetadata` | *?bool* | :heavy_minus_sign: | Trigger asynchronous metadata augmentation. | true | +| `asyncCheckFiles` | *?bool* | :heavy_minus_sign: | Trigger asynchronous file checking. | true | +| `asyncRefreshAnalysis` | *?bool* | :heavy_minus_sign: | Trigger asynchronous refresh of analysis. | true | +| `asyncRefreshLocalMediaAgent` | *?bool* | :heavy_minus_sign: | Trigger asynchronous refresh of the local media agent. | true | \ No newline at end of file diff --git a/docs/Models/Operations/GetMediaMetaDataResponse.md b/docs/Models/Operations/GetMediaMetaDataResponse.md new file mode 100644 index 0000000..de1acb8 --- /dev/null +++ b/docs/Models/Operations/GetMediaMetaDataResponse.md @@ -0,0 +1,11 @@ +# GetMediaMetaDataResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `object` | [?Operations\GetMediaMetaDataResponseBody](../../Models/Operations/GetMediaMetaDataResponseBody.md) | :heavy_minus_sign: | The metadata of the library item. | \ No newline at end of file diff --git a/docs/Models/Operations/GetMediaMetaDataResponseBody.md b/docs/Models/Operations/GetMediaMetaDataResponseBody.md new file mode 100644 index 0000000..a636005 --- /dev/null +++ b/docs/Models/Operations/GetMediaMetaDataResponseBody.md @@ -0,0 +1,10 @@ +# GetMediaMetaDataResponseBody + +The metadata of the library item. + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | +| `mediaContainer` | [?Operations\GetMediaMetaDataMediaContainer](../../Models/Operations/GetMediaMetaDataMediaContainer.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/GetMediaMetaDataRole.md b/docs/Models/Operations/GetMediaMetaDataRole.md new file mode 100644 index 0000000..34c5806 --- /dev/null +++ b/docs/Models/Operations/GetMediaMetaDataRole.md @@ -0,0 +1,13 @@ +# GetMediaMetaDataRole + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `id` | *int* | :heavy_check_mark: | The unique role identifier. | 109501 | +| `filter` | *string* | :heavy_check_mark: | The filter string for the role. | actor=109501 | +| `tag` | *string* | :heavy_check_mark: | The actor's name. | Bob Odenkirk | +| `tagKey` | *string* | :heavy_check_mark: | A key associated with the actor tag. | 5d77683254f42c001f8c3f69 | +| `role` | *?string* | :heavy_minus_sign: | The character name or role. | Jimmy McGill | +| `thumb` | *?string* | :heavy_minus_sign: | URL for the role thumbnail image. | https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg | \ No newline at end of file diff --git a/docs/Models/Operations/GetMediaMetaDataStream.md b/docs/Models/Operations/GetMediaMetaDataStream.md new file mode 100644 index 0000000..3baa2b4 --- /dev/null +++ b/docs/Models/Operations/GetMediaMetaDataStream.md @@ -0,0 +1,53 @@ +# GetMediaMetaDataStream + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | +| `id` | *int* | :heavy_check_mark: | Unique stream identifier. | 1002625 | +| `streamType` | *int* | :heavy_check_mark: | Stream type (1=video, 2=audio, 3=subtitle). | 1 | +| `codec` | *string* | :heavy_check_mark: | Codec used by the stream. | hevc | +| `index` | *int* | :heavy_check_mark: | Index of the stream. | 0 | +| `bitrate` | *int* | :heavy_check_mark: | Bitrate of the stream. | 24743 | +| `language` | *string* | :heavy_check_mark: | Language of the stream. | English | +| `languageTag` | *string* | :heavy_check_mark: | Language tag (e.g., en). | en | +| `languageCode` | *string* | :heavy_check_mark: | ISO language code. | eng | +| `displayTitle` | *string* | :heavy_check_mark: | Display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) | +| `extendedDisplayTitle` | *string* | :heavy_check_mark: | Extended display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) | +| `default` | *?bool* | :heavy_minus_sign: | Indicates if this stream is default. | true | +| `doviblCompatID` | *?int* | :heavy_minus_sign: | Dolby Vision BL compatibility ID. | 1 | +| `doviblPresent` | *?bool* | :heavy_minus_sign: | Indicates if Dolby Vision BL is present. | true | +| `dovielPresent` | *?bool* | :heavy_minus_sign: | Indicates if Dolby Vision EL is present. | false | +| `doviLevel` | *?int* | :heavy_minus_sign: | Dolby Vision level. | 6 | +| `doviPresent` | *?bool* | :heavy_minus_sign: | Indicates if Dolby Vision is present. | true | +| `doviProfile` | *?int* | :heavy_minus_sign: | Dolby Vision profile. | 8 | +| `dovirpuPresent` | *?bool* | :heavy_minus_sign: | Indicates if Dolby Vision RPU is present. | true | +| `doviVersion` | *?string* | :heavy_minus_sign: | Dolby Vision version. | 1.0 | +| `bitDepth` | *?int* | :heavy_minus_sign: | Bit depth of the video stream. | 10 | +| `chromaLocation` | *?string* | :heavy_minus_sign: | Chroma sample location. | topleft | +| `chromaSubsampling` | *?string* | :heavy_minus_sign: | Chroma subsampling format. | 4:2:0 | +| `codedHeight` | *?int* | :heavy_minus_sign: | Coded video height. | 1608 | +| `codedWidth` | *?int* | :heavy_minus_sign: | Coded video width. | 3840 | +| `colorPrimaries` | *?string* | :heavy_minus_sign: | Color primaries used. | bt2020 | +| `colorRange` | *?string* | :heavy_minus_sign: | Color range (e.g., tv). | tv | +| `colorSpace` | *?string* | :heavy_minus_sign: | Color space. | bt2020nc | +| `colorTrc` | *?string* | :heavy_minus_sign: | Color transfer characteristics. | smpte2084 | +| `frameRate` | *?float* | :heavy_minus_sign: | Frame rate of the stream. | 23.976 | +| `height` | *?int* | :heavy_minus_sign: | Height of the video stream. | 1602 | +| `level` | *?int* | :heavy_minus_sign: | Video level. | 150 | +| `original` | *?bool* | :heavy_minus_sign: | Indicates if this is the original stream. | true | +| `hasScalingMatrix` | *?bool* | :heavy_minus_sign: | N/A | false | +| `profile` | *?string* | :heavy_minus_sign: | Video profile. | main 10 | +| `scanType` | *?string* | :heavy_minus_sign: | N/A | progressive | +| `refFrames` | *?int* | :heavy_minus_sign: | Number of reference frames. | 1 | +| `width` | *?int* | :heavy_minus_sign: | Width of the video stream. | 3840 | +| `selected` | *?bool* | :heavy_minus_sign: | Indicates if this stream is selected (applicable for audio streams). | true | +| `forced` | *?bool* | :heavy_minus_sign: | N/A | true | +| `channels` | *?int* | :heavy_minus_sign: | Number of audio channels (for audio streams). | 6 | +| `audioChannelLayout` | *?string* | :heavy_minus_sign: | Audio channel layout. | 5.1(side) | +| `samplingRate` | *?int* | :heavy_minus_sign: | Sampling rate for the audio stream. | 48000 | +| `canAutoSync` | *?bool* | :heavy_minus_sign: | Indicates if the stream can auto-sync. | false | +| `hearingImpaired` | *?bool* | :heavy_minus_sign: | Indicates if the stream is for the hearing impaired. | true | +| `dub` | *?bool* | :heavy_minus_sign: | Indicates if the stream is a dub. | true | +| `title` | *?string* | :heavy_minus_sign: | Optional title for the stream (e.g., language variant). | SDH | \ No newline at end of file diff --git a/docs/Models/Operations/GetMediaMetaDataUltraBlurColors.md b/docs/Models/Operations/GetMediaMetaDataUltraBlurColors.md new file mode 100644 index 0000000..6baf86a --- /dev/null +++ b/docs/Models/Operations/GetMediaMetaDataUltraBlurColors.md @@ -0,0 +1,11 @@ +# GetMediaMetaDataUltraBlurColors + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------- | ----------------------------- | ----------------------------- | ----------------------------- | ----------------------------- | +| `topLeft` | *string* | :heavy_check_mark: | The top-left color value. | 11333a | +| `topRight` | *string* | :heavy_check_mark: | The top-right color value. | 1d2721 | +| `bottomRight` | *string* | :heavy_check_mark: | The bottom-right color value. | 5c451d | +| `bottomLeft` | *string* | :heavy_check_mark: | The bottom-left color value. | 372c10 | \ No newline at end of file diff --git a/docs/Models/Operations/GetMediaMetaDataWriter.md b/docs/Models/Operations/GetMediaMetaDataWriter.md new file mode 100644 index 0000000..d6b0539 --- /dev/null +++ b/docs/Models/Operations/GetMediaMetaDataWriter.md @@ -0,0 +1,13 @@ +# GetMediaMetaDataWriter + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `id` | *int* | :heavy_check_mark: | The unique role identifier. | 109501 | +| `filter` | *string* | :heavy_check_mark: | The filter string for the role. | actor=109501 | +| `tag` | *string* | :heavy_check_mark: | The actor's name. | Bob Odenkirk | +| `tagKey` | *string* | :heavy_check_mark: | A key associated with the actor tag. | 5d77683254f42c001f8c3f69 | +| `role` | *?string* | :heavy_minus_sign: | The character name or role. | Jimmy McGill | +| `thumb` | *?string* | :heavy_minus_sign: | URL for the role thumbnail image. | https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg | \ No newline at end of file diff --git a/docs/Models/Operations/GetMetaDataByRatingKeyCountry.md b/docs/Models/Operations/GetMetaDataByRatingKeyCountry.md deleted file mode 100644 index 4203107..0000000 --- a/docs/Models/Operations/GetMetaDataByRatingKeyCountry.md +++ /dev/null @@ -1,10 +0,0 @@ -# GetMetaDataByRatingKeyCountry - - -## Fields - -| Field | Type | Required | Description | Example | -| ------------------------ | ------------------------ | ------------------------ | ------------------------ | ------------------------ | -| `id` | *?int* | :heavy_minus_sign: | N/A | 116 | -| `filter` | *?string* | :heavy_minus_sign: | N/A | country=116 | -| `tag` | *?string* | :heavy_minus_sign: | N/A | United States of America | \ No newline at end of file diff --git a/docs/Models/Operations/GetMetaDataByRatingKeyDirector.md b/docs/Models/Operations/GetMetaDataByRatingKeyDirector.md deleted file mode 100644 index aea7edd..0000000 --- a/docs/Models/Operations/GetMetaDataByRatingKeyDirector.md +++ /dev/null @@ -1,12 +0,0 @@ -# GetMetaDataByRatingKeyDirector - - -## Fields - -| Field | Type | Required | Description | Example | -| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | -| `id` | *?int* | :heavy_minus_sign: | N/A | 130 | -| `filter` | *?string* | :heavy_minus_sign: | N/A | director=130 | -| `tag` | *?string* | :heavy_minus_sign: | N/A | Joss Whedon | -| `tagKey` | *?string* | :heavy_minus_sign: | N/A | 5d776828880197001ec90e8f | -| `thumb` | *?string* | :heavy_minus_sign: | N/A | https://metadata-static.plex.tv/people/5d776828880197001ec90e8f.jpg | \ No newline at end of file diff --git a/docs/Models/Operations/GetMetaDataByRatingKeyGenre.md b/docs/Models/Operations/GetMetaDataByRatingKeyGenre.md deleted file mode 100644 index 2977428..0000000 --- a/docs/Models/Operations/GetMetaDataByRatingKeyGenre.md +++ /dev/null @@ -1,10 +0,0 @@ -# GetMetaDataByRatingKeyGenre - - -## Fields - -| Field | Type | Required | Description | Example | -| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | -| `id` | *?int* | :heavy_minus_sign: | N/A | 184 | -| `filter` | *?string* | :heavy_minus_sign: | N/A | genre=184 | -| `tag` | *?string* | :heavy_minus_sign: | N/A | Thriller | \ No newline at end of file diff --git a/docs/Models/Operations/GetMetaDataByRatingKeyMedia.md b/docs/Models/Operations/GetMetaDataByRatingKeyMedia.md deleted file mode 100644 index 4cd62d2..0000000 --- a/docs/Models/Operations/GetMetaDataByRatingKeyMedia.md +++ /dev/null @@ -1,24 +0,0 @@ -# GetMetaDataByRatingKeyMedia - - -## Fields - -| Field | Type | Required | Description | Example | -| ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | -| `id` | *?int* | :heavy_minus_sign: | N/A | 15 | -| `duration` | *?int* | :heavy_minus_sign: | N/A | 141417 | -| `bitrate` | *?int* | :heavy_minus_sign: | N/A | 2278 | -| `width` | *?int* | :heavy_minus_sign: | N/A | 1920 | -| `height` | *?int* | :heavy_minus_sign: | N/A | 814 | -| `aspectRatio` | *?float* | :heavy_minus_sign: | N/A | 2.35 | -| `audioChannels` | *?int* | :heavy_minus_sign: | N/A | 2 | -| `audioCodec` | *?string* | :heavy_minus_sign: | N/A | aac | -| `videoCodec` | *?string* | :heavy_minus_sign: | N/A | h264 | -| `videoResolution` | *?string* | :heavy_minus_sign: | N/A | 1080 | -| `container` | *?string* | :heavy_minus_sign: | N/A | mp4 | -| `videoFrameRate` | *?string* | :heavy_minus_sign: | N/A | 24p | -| `optimizedForStreaming` | *?int* | :heavy_minus_sign: | N/A | 0 | -| `audioProfile` | *?string* | :heavy_minus_sign: | N/A | lc | -| `has64bitOffsets` | *?bool* | :heavy_minus_sign: | N/A | false | -| `videoProfile` | *?string* | :heavy_minus_sign: | N/A | high | -| `part` | array<[Operations\GetMetaDataByRatingKeyPart](../../Models/Operations/GetMetaDataByRatingKeyPart.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/Models/Operations/GetMetaDataByRatingKeyMediaContainer.md b/docs/Models/Operations/GetMetaDataByRatingKeyMediaContainer.md deleted file mode 100644 index 15238f5..0000000 --- a/docs/Models/Operations/GetMetaDataByRatingKeyMediaContainer.md +++ /dev/null @@ -1,16 +0,0 @@ -# GetMetaDataByRatingKeyMediaContainer - - -## Fields - -| Field | Type | Required | Description | Example | -| ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | -| `size` | *?int* | :heavy_minus_sign: | N/A | 1 | -| `allowSync` | *?bool* | :heavy_minus_sign: | N/A | true | -| `identifier` | *?string* | :heavy_minus_sign: | N/A | com.plexapp.plugins.library | -| `librarySectionID` | *?int* | :heavy_minus_sign: | N/A | 1 | -| `librarySectionTitle` | *?string* | :heavy_minus_sign: | N/A | Movies | -| `librarySectionUUID` | *?string* | :heavy_minus_sign: | N/A | cfc899d7-3000-46f6-8489-b9592714ada5 | -| `mediaTagPrefix` | *?string* | :heavy_minus_sign: | N/A | /system/bundle/media/flags/ | -| `mediaTagVersion` | *?int* | :heavy_minus_sign: | N/A | 1698860922 | -| `metadata` | array<[Operations\GetMetaDataByRatingKeyMetadata](../../Models/Operations/GetMetaDataByRatingKeyMetadata.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/Models/Operations/GetMetaDataByRatingKeyPart.md b/docs/Models/Operations/GetMetaDataByRatingKeyPart.md deleted file mode 100644 index ab26d18..0000000 --- a/docs/Models/Operations/GetMetaDataByRatingKeyPart.md +++ /dev/null @@ -1,18 +0,0 @@ -# GetMetaDataByRatingKeyPart - - -## Fields - -| Field | Type | Required | Description | Example | -| --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | -| `id` | *?int* | :heavy_minus_sign: | N/A | 15 | -| `key` | *?string* | :heavy_minus_sign: | N/A | /library/parts/15/1705637151/file.mp4 | -| `duration` | *?int* | :heavy_minus_sign: | N/A | 141417 | -| `file` | *?string* | :heavy_minus_sign: | N/A | /movies/Serenity (2005)/Serenity (2005).mp4 | -| `size` | *?int* | :heavy_minus_sign: | N/A | 40271948 | -| `audioProfile` | *?string* | :heavy_minus_sign: | N/A | lc | -| `container` | *?string* | :heavy_minus_sign: | N/A | mp4 | -| `has64bitOffsets` | *?bool* | :heavy_minus_sign: | N/A | false | -| `optimizedForStreaming` | *?bool* | :heavy_minus_sign: | N/A | false | -| `videoProfile` | *?string* | :heavy_minus_sign: | N/A | high | -| `stream` | array<[Operations\GetMetaDataByRatingKeyStream](../../Models/Operations/GetMetaDataByRatingKeyStream.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/Models/Operations/GetMetaDataByRatingKeyRequest.md b/docs/Models/Operations/GetMetaDataByRatingKeyRequest.md deleted file mode 100644 index 111db6a..0000000 --- a/docs/Models/Operations/GetMetaDataByRatingKeyRequest.md +++ /dev/null @@ -1,8 +0,0 @@ -# GetMetaDataByRatingKeyRequest - - -## Fields - -| Field | Type | Required | Description | Example | -| ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | -| `ratingKey` | *int* | :heavy_check_mark: | the id of the library item to return the children of. | 9518 | \ No newline at end of file diff --git a/docs/Models/Operations/GetMetaDataByRatingKeyResponse.md b/docs/Models/Operations/GetMetaDataByRatingKeyResponse.md deleted file mode 100644 index 0d34450..0000000 --- a/docs/Models/Operations/GetMetaDataByRatingKeyResponse.md +++ /dev/null @@ -1,11 +0,0 @@ -# GetMetaDataByRatingKeyResponse - - -## Fields - -| Field | Type | Required | Description | -| --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | -| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | -| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | -| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | -| `object` | [?Operations\GetMetaDataByRatingKeyResponseBody](../../Models/Operations/GetMetaDataByRatingKeyResponseBody.md) | :heavy_minus_sign: | The metadata of the library item. | \ No newline at end of file diff --git a/docs/Models/Operations/GetMetaDataByRatingKeyResponseBody.md b/docs/Models/Operations/GetMetaDataByRatingKeyResponseBody.md deleted file mode 100644 index f597983..0000000 --- a/docs/Models/Operations/GetMetaDataByRatingKeyResponseBody.md +++ /dev/null @@ -1,10 +0,0 @@ -# GetMetaDataByRatingKeyResponseBody - -The metadata of the library item. - - -## Fields - -| Field | Type | Required | Description | -| ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | -| `mediaContainer` | [?Operations\GetMetaDataByRatingKeyMediaContainer](../../Models/Operations/GetMetaDataByRatingKeyMediaContainer.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/GetMetaDataByRatingKeyRole.md b/docs/Models/Operations/GetMetaDataByRatingKeyRole.md deleted file mode 100644 index 7532bf1..0000000 --- a/docs/Models/Operations/GetMetaDataByRatingKeyRole.md +++ /dev/null @@ -1,13 +0,0 @@ -# GetMetaDataByRatingKeyRole - - -## Fields - -| Field | Type | Required | Description | Example | -| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | -| `id` | *?int* | :heavy_minus_sign: | N/A | 220 | -| `filter` | *?string* | :heavy_minus_sign: | N/A | actor=220 | -| `tag` | *?string* | :heavy_minus_sign: | N/A | Dennis Keiffer | -| `tagKey` | *?string* | :heavy_minus_sign: | N/A | 5d77683554f42c001f8c4708 | -| `role` | *?string* | :heavy_minus_sign: | N/A | Bar Guy (uncredited) | -| `thumb` | *?string* | :heavy_minus_sign: | N/A | https://metadata-static.plex.tv/6/people/648e9a7ea1d537bccfcd7615134b78ce.jpg | \ No newline at end of file diff --git a/docs/Models/Operations/GetMetaDataByRatingKeyStream.md b/docs/Models/Operations/GetMetaDataByRatingKeyStream.md deleted file mode 100644 index 20595d8..0000000 --- a/docs/Models/Operations/GetMetaDataByRatingKeyStream.md +++ /dev/null @@ -1,39 +0,0 @@ -# GetMetaDataByRatingKeyStream - - -## Fields - -| Field | Type | Required | Description | Example | -| ---------------------- | ---------------------- | ---------------------- | ---------------------- | ---------------------- | -| `id` | *?int* | :heavy_minus_sign: | N/A | 29 | -| `streamType` | *?int* | :heavy_minus_sign: | N/A | 2 | -| `default` | *?bool* | :heavy_minus_sign: | N/A | true | -| `codec` | *?string* | :heavy_minus_sign: | N/A | aac | -| `index` | *?int* | :heavy_minus_sign: | N/A | 0 | -| `bitrate` | *?int* | :heavy_minus_sign: | N/A | 128 | -| `bitDepth` | *?int* | :heavy_minus_sign: | N/A | 8 | -| `chromaLocation` | *?string* | :heavy_minus_sign: | N/A | left | -| `chromaSubsampling` | *?string* | :heavy_minus_sign: | N/A | 14520 | -| `codedHeight` | *?int* | :heavy_minus_sign: | N/A | 816 | -| `codedWidth` | *?int* | :heavy_minus_sign: | N/A | 1920 | -| `colorPrimaries` | *?string* | :heavy_minus_sign: | N/A | bt709 | -| `colorRange` | *?string* | :heavy_minus_sign: | N/A | tv | -| `colorSpace` | *?string* | :heavy_minus_sign: | N/A | bt709 | -| `colorTrc` | *?string* | :heavy_minus_sign: | N/A | bt709 | -| `frameRate` | *?int* | :heavy_minus_sign: | N/A | 24 | -| `hasScalingMatrix` | *?bool* | :heavy_minus_sign: | N/A | false | -| `height` | *?int* | :heavy_minus_sign: | N/A | 814 | -| `level` | *?int* | :heavy_minus_sign: | N/A | 40 | -| `profile` | *?string* | :heavy_minus_sign: | N/A | lc | -| `refFrames` | *?int* | :heavy_minus_sign: | N/A | 4 | -| `scanType` | *?string* | :heavy_minus_sign: | N/A | progressive | -| `streamIdentifier` | *?string* | :heavy_minus_sign: | N/A | 1 | -| `width` | *?int* | :heavy_minus_sign: | N/A | 1920 | -| `displayTitle` | *?string* | :heavy_minus_sign: | N/A | English (AAC Stereo) | -| `extendedDisplayTitle` | *?string* | :heavy_minus_sign: | N/A | English (AAC Stereo) | -| `selected` | *?bool* | :heavy_minus_sign: | N/A | true | -| `channels` | *?int* | :heavy_minus_sign: | N/A | 2 | -| `language` | *?string* | :heavy_minus_sign: | N/A | English | -| `languageTag` | *?string* | :heavy_minus_sign: | N/A | en | -| `languageCode` | *?string* | :heavy_minus_sign: | N/A | eng | -| `samplingRate` | *?int* | :heavy_minus_sign: | N/A | 44100 | \ No newline at end of file diff --git a/docs/Models/Operations/GetMetaDataByRatingKeyWriter.md b/docs/Models/Operations/GetMetaDataByRatingKeyWriter.md deleted file mode 100644 index 580e393..0000000 --- a/docs/Models/Operations/GetMetaDataByRatingKeyWriter.md +++ /dev/null @@ -1,12 +0,0 @@ -# GetMetaDataByRatingKeyWriter - - -## Fields - -| Field | Type | Required | Description | Example | -| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | -| `id` | *?int* | :heavy_minus_sign: | N/A | 132 | -| `filter` | *?string* | :heavy_minus_sign: | N/A | writer=132 | -| `tag` | *?string* | :heavy_minus_sign: | N/A | Joss Whedon | -| `tagKey` | *?string* | :heavy_minus_sign: | N/A | 5d776828880197001ec90e8f | -| `thumb` | *?string* | :heavy_minus_sign: | N/A | https://metadata-static.plex.tv/people/5d776828880197001ec90e8f.jpg | \ No newline at end of file diff --git a/docs/Models/Operations/GetPlaylistContentsQueryParamType.md b/docs/Models/Operations/GetPlaylistContentsQueryParamType.md index b5b34ab..7d477fb 100644 --- a/docs/Models/Operations/GetPlaylistContentsQueryParamType.md +++ b/docs/Models/Operations/GetPlaylistContentsQueryParamType.md @@ -1,6 +1,6 @@ # GetPlaylistContentsQueryParamType -The type of media to retrieve. +The type of media to retrieve or filter by. 1 = movie 2 = show 3 = season diff --git a/docs/Models/Operations/GetPlaylistContentsRequest.md b/docs/Models/Operations/GetPlaylistContentsRequest.md index fdbabb8..8e9a619 100644 --- a/docs/Models/Operations/GetPlaylistContentsRequest.md +++ b/docs/Models/Operations/GetPlaylistContentsRequest.md @@ -3,7 +3,7 @@ ## Fields -| Field | Type | Required | Description | Example | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `playlistID` | *float* | :heavy_check_mark: | the ID of the playlist | | -| `type` | [Operations\GetPlaylistContentsQueryParamType](../../Models/Operations/GetPlaylistContentsQueryParamType.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 | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `playlistID` | *float* | :heavy_check_mark: | the ID of the playlist | | +| `type` | [Operations\GetPlaylistContentsQueryParamType](../../Models/Operations/GetPlaylistContentsQueryParamType.md) | :heavy_check_mark: | The type of media to retrieve or filter by.
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 | \ No newline at end of file diff --git a/docs/Models/Operations/GetRecentlyAddedLibraryRequest.md b/docs/Models/Operations/GetRecentlyAddedLibraryRequest.md index 1b1444b..73eba09 100644 --- a/docs/Models/Operations/GetRecentlyAddedLibraryRequest.md +++ b/docs/Models/Operations/GetRecentlyAddedLibraryRequest.md @@ -3,12 +3,12 @@ ## Fields -| Field | Type | Required | Description | Example | -| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `type` | [Operations\QueryParamType](../../Models/Operations/QueryParamType.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 | -| `contentDirectoryID` | *?int* | :heavy_minus_sign: | N/A | 2 | -| `pinnedContentDirectoryID` | array<*int*> | :heavy_minus_sign: | N/A | [
3,
5,
7,
13,
12,
1,
6,
14,
2,
10,
16,
17
] | -| `sectionID` | *?int* | :heavy_minus_sign: | The library section ID for filtering content. | 2 | -| `includeMeta` | [?Operations\QueryParamIncludeMeta](../../Models/Operations/QueryParamIncludeMeta.md) | :heavy_minus_sign: | Adds the Meta object to the response
| 1 | -| `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 +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `type` | [Operations\QueryParamType](../../Models/Operations/QueryParamType.md) | :heavy_check_mark: | The type of media to retrieve or filter by.
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 | +| `contentDirectoryID` | *?int* | :heavy_minus_sign: | N/A | 2 | +| `pinnedContentDirectoryID` | array<*int*> | :heavy_minus_sign: | N/A | [
3,
5,
7,
13,
12,
1,
6,
14,
2,
10,
16,
17
] | +| `sectionID` | *?int* | :heavy_minus_sign: | The library section ID for filtering content. | 2 | +| `includeMeta` | [?Operations\QueryParamIncludeMeta](../../Models/Operations/QueryParamIncludeMeta.md) | :heavy_minus_sign: | Adds the Meta object to the response
| 1 | +| `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/GetRecentlyAddedRequest.md b/docs/Models/Operations/GetRecentlyAddedRequest.md index ab5c4e6..987f351 100644 --- a/docs/Models/Operations/GetRecentlyAddedRequest.md +++ b/docs/Models/Operations/GetRecentlyAddedRequest.md @@ -3,12 +3,12 @@ ## Fields -| Field | Type | Required | Description | Example | -| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `contentDirectoryID` | *int* | :heavy_check_mark: | The content directory ID. | | -| `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 | -| `pinnedContentDirectoryID` | *?string* | :heavy_minus_sign: | Comma-separated list of pinned content directory IDs. | | -| `sectionID` | *?int* | :heavy_minus_sign: | The library section ID for filtering content. | 2 | -| `includeMeta` | [?Operations\IncludeMeta](../../Models/Operations/IncludeMeta.md) | :heavy_minus_sign: | Adds the Meta object to the response
| 1 | -| `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 +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `contentDirectoryID` | *int* | :heavy_check_mark: | The content directory ID. | | +| `type` | [Operations\Type](../../Models/Operations/Type.md) | :heavy_check_mark: | The type of media to retrieve or filter by.
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 | +| `pinnedContentDirectoryID` | *?string* | :heavy_minus_sign: | Comma-separated list of pinned content directory IDs. | | +| `sectionID` | *?int* | :heavy_minus_sign: | The library section ID for filtering content. | 2 | +| `includeMeta` | [?Operations\IncludeMeta](../../Models/Operations/IncludeMeta.md) | :heavy_minus_sign: | Adds the Meta object to the response
| 1 | +| `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/GetSearchLibraryQueryParamType.md b/docs/Models/Operations/GetSearchLibraryQueryParamType.md index 9e3a482..38b2684 100644 --- a/docs/Models/Operations/GetSearchLibraryQueryParamType.md +++ b/docs/Models/Operations/GetSearchLibraryQueryParamType.md @@ -1,6 +1,6 @@ # GetSearchLibraryQueryParamType -The type of media to retrieve. +The type of media to retrieve or filter by. 1 = movie 2 = show 3 = season diff --git a/docs/Models/Operations/GetSearchLibraryRequest.md b/docs/Models/Operations/GetSearchLibraryRequest.md index 54f32bd..240edf4 100644 --- a/docs/Models/Operations/GetSearchLibraryRequest.md +++ b/docs/Models/Operations/GetSearchLibraryRequest.md @@ -3,7 +3,7 @@ ## Fields -| Field | Type | Required | Description | Example | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `sectionKey` | *int* | :heavy_check_mark: | The unique key of the Plex library.
Note: This is unique in the context of the Plex server.
| 9518 | -| `type` | [Operations\GetSearchLibraryQueryParamType](../../Models/Operations/GetSearchLibraryQueryParamType.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 | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `sectionKey` | *int* | :heavy_check_mark: | The unique key of the Plex library.
Note: This is unique in the context of the Plex server.
| 9518 | +| `type` | [Operations\GetSearchLibraryQueryParamType](../../Models/Operations/GetSearchLibraryQueryParamType.md) | :heavy_check_mark: | The type of media to retrieve or filter by.
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 | \ No newline at end of file diff --git a/docs/Models/Operations/GetTopWatchedContentQueryParamType.md b/docs/Models/Operations/GetTopWatchedContentQueryParamType.md index 6736d2a..ada3d48 100644 --- a/docs/Models/Operations/GetTopWatchedContentQueryParamType.md +++ b/docs/Models/Operations/GetTopWatchedContentQueryParamType.md @@ -1,6 +1,6 @@ # GetTopWatchedContentQueryParamType -The type of media to retrieve. +The type of media to retrieve or filter by. 1 = movie 2 = show 3 = season diff --git a/docs/Models/Operations/GetTopWatchedContentRequest.md b/docs/Models/Operations/GetTopWatchedContentRequest.md index c3e211f..50b5435 100644 --- a/docs/Models/Operations/GetTopWatchedContentRequest.md +++ b/docs/Models/Operations/GetTopWatchedContentRequest.md @@ -3,7 +3,7 @@ ## Fields -| Field | Type | Required | Description | Example | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `type` | [Operations\GetTopWatchedContentQueryParamType](../../Models/Operations/GetTopWatchedContentQueryParamType.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` | *?int* | :heavy_minus_sign: | Adds the Guids object to the response
| 1 | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `type` | [Operations\GetTopWatchedContentQueryParamType](../../Models/Operations/GetTopWatchedContentQueryParamType.md) | :heavy_check_mark: | The type of media to retrieve or filter by.
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` | *?int* | :heavy_minus_sign: | Adds the Guids object to the response
| 1 | \ No newline at end of file diff --git a/docs/Models/Operations/Guids.md b/docs/Models/Operations/Guids.md index d694227..24ace86 100644 --- a/docs/Models/Operations/Guids.md +++ b/docs/Models/Operations/Guids.md @@ -5,4 +5,4 @@ | Field | Type | Required | Description | Example | | ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | -| `id` | *?string* | :heavy_minus_sign: | N/A | tvdb://2337 | \ No newline at end of file +| `id` | *string* | :heavy_check_mark: | The GUID value. | imdb://tt3032476 | \ No newline at end of file diff --git a/docs/Models/Operations/Producer.md b/docs/Models/Operations/Producer.md index e02dc86..6a2d43c 100644 --- a/docs/Models/Operations/Producer.md +++ b/docs/Models/Operations/Producer.md @@ -5,8 +5,9 @@ | Field | Type | Required | Description | Example | | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | -| `id` | *?int* | :heavy_minus_sign: | N/A | 221 | -| `filter` | *?string* | :heavy_minus_sign: | N/A | producer=221 | -| `tag` | *?string* | :heavy_minus_sign: | N/A | Barry Mendel | -| `tagKey` | *?string* | :heavy_minus_sign: | N/A | 5d776826961905001eb90e2b | -| `thumb` | *?string* | :heavy_minus_sign: | N/A | https://metadata-static.plex.tv/8/people/87877371326a964634d18556d94547e1.jpg | \ No newline at end of file +| `id` | *int* | :heavy_check_mark: | The unique role identifier. | 109501 | +| `filter` | *string* | :heavy_check_mark: | The filter string for the role. | actor=109501 | +| `tag` | *string* | :heavy_check_mark: | The actor's name. | Bob Odenkirk | +| `tagKey` | *string* | :heavy_check_mark: | A key associated with the actor tag. | 5d77683254f42c001f8c3f69 | +| `role` | *?string* | :heavy_minus_sign: | The character name or role. | Jimmy McGill | +| `thumb` | *?string* | :heavy_minus_sign: | URL for the role thumbnail image. | https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg | \ No newline at end of file diff --git a/docs/Models/Operations/QueryParamType.md b/docs/Models/Operations/QueryParamType.md index 13fedec..cfaf2bd 100644 --- a/docs/Models/Operations/QueryParamType.md +++ b/docs/Models/Operations/QueryParamType.md @@ -1,6 +1,6 @@ # QueryParamType -The type of media to retrieve. +The type of media to retrieve or filter by. 1 = movie 2 = show 3 = season diff --git a/docs/Models/Operations/Rating.md b/docs/Models/Operations/Rating.md new file mode 100644 index 0000000..1c0b164 --- /dev/null +++ b/docs/Models/Operations/Rating.md @@ -0,0 +1,10 @@ +# Rating + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | +| `image` | *string* | :heavy_check_mark: | The image or reference for the rating. | imdb://image.rating | +| `value` | *float* | :heavy_check_mark: | The rating value. | 9 | +| `type` | *string* | :heavy_check_mark: | The type of rating (e.g., audience, critic). | audience | \ No newline at end of file diff --git a/docs/Models/Operations/Ratings.md b/docs/Models/Operations/Ratings.md deleted file mode 100644 index f626ec2..0000000 --- a/docs/Models/Operations/Ratings.md +++ /dev/null @@ -1,10 +0,0 @@ -# Ratings - - -## Fields - -| Field | Type | Required | Description | Example | -| ------------------------- | ------------------------- | ------------------------- | ------------------------- | ------------------------- | -| `image` | *?string* | :heavy_minus_sign: | N/A | themoviedb://image.rating | -| `value` | *?float* | :heavy_minus_sign: | N/A | 7.4 | -| `type` | *?string* | :heavy_minus_sign: | N/A | audience | \ No newline at end of file diff --git a/docs/Models/Operations/Similar.md b/docs/Models/Operations/Similar.md new file mode 100644 index 0000000..52a567a --- /dev/null +++ b/docs/Models/Operations/Similar.md @@ -0,0 +1,10 @@ +# Similar + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | +| `id` | *int* | :heavy_check_mark: | The unique similar item identifier. | 26 | +| `filter` | *string* | :heavy_check_mark: | The filter string for similar items. | similar=26 | +| `tag` | *string* | :heavy_check_mark: | The tag or title of the similar content. | Breaking Bad | \ No newline at end of file diff --git a/docs/Models/Operations/Type.md b/docs/Models/Operations/Type.md index e0e804e..db3f9b7 100644 --- a/docs/Models/Operations/Type.md +++ b/docs/Models/Operations/Type.md @@ -1,6 +1,6 @@ # Type -The type of media to retrieve. +The type of media to retrieve or filter by. 1 = movie 2 = show 3 = season diff --git a/docs/sdks/library/README.md b/docs/sdks/library/README.md index a44779a..d44e0ec 100644 --- a/docs/sdks/library/README.md +++ b/docs/sdks/library/README.md @@ -9,12 +9,13 @@ API Calls interacting with Plex Media Server Libraries ### Available Operations * [deleteLibrary](#deletelibrary) - Delete Library Section +* [getActorsLibrary](#getactorslibrary) - Get Actors of library media * [getAllLibraries](#getalllibraries) - Get All Libraries * [getCountriesLibrary](#getcountrieslibrary) - Get Countries of library media * [getGenresLibrary](#getgenreslibrary) - Get Genres of library media * [getLibraryDetails](#getlibrarydetails) - Get Library Details * [getLibraryItems](#getlibraryitems) - Get Library Items -* [getMetaDataByRatingKey](#getmetadatabyratingkey) - Get Metadata by RatingKey +* [getMediaMetaData](#getmediametadata) - Get Media Metadata * [getRecentlyAddedLibrary](#getrecentlyaddedlibrary) - Get Recently Added * [getRefreshLibraryMetadata](#getrefreshlibrarymetadata) - Refresh Metadata Of The Library * [getSearchAllLibraries](#getsearchalllibraries) - Search All Libraries @@ -72,6 +73,59 @@ if ($response->statusCode === 200) { | Errors\DeleteLibraryUnauthorized | 401 | application/json | | Errors\SDKException | 4XX, 5XX | \*/\* | +## getActorsLibrary + +Retrieves a list of all the actors that are found for the media in this library. + + +### Example Usage + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use LukeHagar\Plex_API; +use LukeHagar\Plex_API\Models\Operations; + +$sdk = Plex_API\PlexAPI::builder() + ->setSecurity( + '' + ) + ->build(); + + + +$response = $sdk->library->getActorsLibrary( + sectionKey: 9518, + type: Operations\GetActorsLibraryQueryParamType::TvShow + +); + +if ($response->object !== null) { + // handle response +} +``` + +### Parameters + +| Parameter | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `sectionKey` | *int* | :heavy_check_mark: | The unique key of the Plex library.
Note: This is unique in the context of the Plex server.
| 9518 | +| `type` | [Operations\GetActorsLibraryQueryParamType](../../Models/Operations/GetActorsLibraryQueryParamType.md) | :heavy_check_mark: | The type of media to retrieve or filter by.
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 | + +### Response + +**[?Operations\GetActorsLibraryResponse](../../Models/Operations/GetActorsLibraryResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ----------------------------------- | ----------------------------------- | ----------------------------------- | +| Errors\GetActorsLibraryBadRequest | 400 | application/json | +| Errors\GetActorsLibraryUnauthorized | 401 | application/json | +| Errors\SDKException | 4XX, 5XX | \*/\* | + ## getAllLibraries A library section (commonly referred to as just a library) is a collection of media. @@ -133,6 +187,7 @@ declare(strict_types=1); require 'vendor/autoload.php'; use LukeHagar\Plex_API; +use LukeHagar\Plex_API\Models\Operations; $sdk = Plex_API\PlexAPI::builder() ->setSecurity( @@ -143,7 +198,9 @@ $sdk = Plex_API\PlexAPI::builder() $response = $sdk->library->getCountriesLibrary( - sectionKey: 9518 + sectionKey: 9518, + type: Operations\GetCountriesLibraryQueryParamType::TvShow + ); if ($response->object !== null) { @@ -153,9 +210,10 @@ if ($response->object !== null) { ### Parameters -| Parameter | Type | Required | Description | Example | -| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | -| `sectionKey` | *int* | :heavy_check_mark: | The unique key of the Plex library.
Note: This is unique in the context of the Plex server.
| 9518 | +| Parameter | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `sectionKey` | *int* | :heavy_check_mark: | The unique key of the Plex library.
Note: This is unique in the context of the Plex server.
| 9518 | +| `type` | [Operations\GetCountriesLibraryQueryParamType](../../Models/Operations/GetCountriesLibraryQueryParamType.md) | :heavy_check_mark: | The type of media to retrieve or filter by.
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 | ### Response @@ -182,6 +240,7 @@ declare(strict_types=1); require 'vendor/autoload.php'; use LukeHagar\Plex_API; +use LukeHagar\Plex_API\Models\Operations; $sdk = Plex_API\PlexAPI::builder() ->setSecurity( @@ -192,7 +251,9 @@ $sdk = Plex_API\PlexAPI::builder() $response = $sdk->library->getGenresLibrary( - sectionKey: 9518 + sectionKey: 9518, + type: Operations\GetGenresLibraryQueryParamType::TvShow + ); if ($response->object !== null) { @@ -202,9 +263,10 @@ if ($response->object !== null) { ### Parameters -| Parameter | Type | Required | Description | Example | -| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | -| `sectionKey` | *int* | :heavy_check_mark: | The unique key of the Plex library.
Note: This is unique in the context of the Plex server.
| 9518 | +| Parameter | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `sectionKey` | *int* | :heavy_check_mark: | The unique key of the Plex library.
Note: This is unique in the context of the Plex server.
| 9518 | +| `type` | [Operations\GetGenresLibraryQueryParamType](../../Models/Operations/GetGenresLibraryQueryParamType.md) | :heavy_check_mark: | The type of media to retrieve or filter by.
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 | ### Response @@ -352,8 +414,8 @@ $sdk = Plex_API\PlexAPI::builder() $request = new Operations\GetLibraryItemsRequest( tag: Operations\Tag::Edition, - sectionKey: 9518, type: Operations\GetLibraryItemsQueryParamType::TvShow, + sectionKey: 9518, ); $response = $sdk->library->getLibraryItems( @@ -383,9 +445,9 @@ if ($response->object !== null) { | Errors\GetLibraryItemsUnauthorized | 401 | application/json | | Errors\SDKException | 4XX, 5XX | \*/\* | -## getMetaDataByRatingKey +## getMediaMetaData -This endpoint will return the metadata of a library item specified with the ratingKey. +This endpoint will return all the (meta)data of a library item specified with by the ratingKey. ### Example Usage @@ -396,6 +458,7 @@ declare(strict_types=1); require 'vendor/autoload.php'; use LukeHagar\Plex_API; +use LukeHagar\Plex_API\Models\Operations; $sdk = Plex_API\PlexAPI::builder() ->setSecurity( @@ -403,10 +466,25 @@ $sdk = Plex_API\PlexAPI::builder() ) ->build(); +$request = new Operations\GetMediaMetaDataRequest( + ratingKey: 9518, + includeConcerts: true, + includeExtras: true, + includeOnDeck: true, + includePopularLeaves: true, + includePreferences: true, + includeReviews: true, + includeChapters: true, + includeStations: true, + includeExternalMedia: true, + asyncAugmentMetadata: true, + asyncCheckFiles: true, + asyncRefreshAnalysis: true, + asyncRefreshLocalMediaAgent: true, +); - -$response = $sdk->library->getMetaDataByRatingKey( - ratingKey: 9518 +$response = $sdk->library->getMediaMetaData( + request: $request ); if ($response->object !== null) { @@ -416,21 +494,21 @@ if ($response->object !== null) { ### Parameters -| Parameter | Type | Required | Description | Example | -| ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | -| `ratingKey` | *int* | :heavy_check_mark: | the id of the library item to return the children of. | 9518 | +| Parameter | Type | Required | Description | +| ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | +| `$request` | [Operations\GetMediaMetaDataRequest](../../Models/Operations/GetMediaMetaDataRequest.md) | :heavy_check_mark: | The request object to use for the request. | ### Response -**[?Operations\GetMetaDataByRatingKeyResponse](../../Models/Operations/GetMetaDataByRatingKeyResponse.md)** +**[?Operations\GetMediaMetaDataResponse](../../Models/Operations/GetMediaMetaDataResponse.md)** ### Errors -| Error Type | Status Code | Content Type | -| ----------------------------------------- | ----------------------------------------- | ----------------------------------------- | -| Errors\GetMetaDataByRatingKeyBadRequest | 400 | application/json | -| Errors\GetMetaDataByRatingKeyUnauthorized | 401 | application/json | -| Errors\SDKException | 4XX, 5XX | \*/\* | +| Error Type | Status Code | Content Type | +| ----------------------------------- | ----------------------------------- | ----------------------------------- | +| Errors\GetMediaMetaDataBadRequest | 400 | application/json | +| Errors\GetMediaMetaDataUnauthorized | 401 | application/json | +| Errors\SDKException | 4XX, 5XX | \*/\* | ## getRecentlyAddedLibrary @@ -662,10 +740,10 @@ if ($response->object !== null) { ### Parameters -| Parameter | Type | Required | Description | Example | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `sectionKey` | *int* | :heavy_check_mark: | The unique key of the Plex library.
Note: This is unique in the context of the Plex server.
| 9518 | -| `type` | [Operations\GetSearchLibraryQueryParamType](../../Models/Operations/GetSearchLibraryQueryParamType.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 | +| Parameter | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `sectionKey` | *int* | :heavy_check_mark: | The unique key of the Plex library.
Note: This is unique in the context of the Plex server.
| 9518 | +| `type` | [Operations\GetSearchLibraryQueryParamType](../../Models/Operations/GetSearchLibraryQueryParamType.md) | :heavy_check_mark: | The type of media to retrieve or filter by.
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 | ### Response @@ -861,10 +939,10 @@ if ($response->object !== null) { ### Parameters -| Parameter | Type | Required | Description | Example | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `type` | [Operations\GetTopWatchedContentQueryParamType](../../Models/Operations/GetTopWatchedContentQueryParamType.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` | *?int* | :heavy_minus_sign: | Adds the Guids object to the response
| 1 | +| Parameter | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `type` | [Operations\GetTopWatchedContentQueryParamType](../../Models/Operations/GetTopWatchedContentQueryParamType.md) | :heavy_check_mark: | The type of media to retrieve or filter by.
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` | *?int* | :heavy_minus_sign: | Adds the Guids object to the response
| 1 | ### Response diff --git a/docs/sdks/playlists/README.md b/docs/sdks/playlists/README.md index a89651b..271282b 100644 --- a/docs/sdks/playlists/README.md +++ b/docs/sdks/playlists/README.md @@ -320,10 +320,10 @@ if ($response->object !== null) { ### Parameters -| Parameter | Type | Required | Description | Example | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `playlistID` | *float* | :heavy_check_mark: | the ID of the playlist | | -| `type` | [Operations\GetPlaylistContentsQueryParamType](../../Models/Operations/GetPlaylistContentsQueryParamType.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 | +| Parameter | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `playlistID` | *float* | :heavy_check_mark: | the ID of the playlist | | +| `type` | [Operations\GetPlaylistContentsQueryParamType](../../Models/Operations/GetPlaylistContentsQueryParamType.md) | :heavy_check_mark: | The type of media to retrieve or filter by.
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 | ### Response diff --git a/src/Library.php b/src/Library.php index d251c49..e94bff7 100644 --- a/src/Library.php +++ b/src/Library.php @@ -123,6 +123,100 @@ class Library } } + /** + * Get Actors of library media + * + * Retrieves a list of all the actors that are found for the media in this library. + * + * + * @param int $sectionKey + * @param Operations\GetActorsLibraryQueryParamType $type + * @return Operations\GetActorsLibraryResponse + * @throws \LukeHagar\Plex_API\Models\Errors\SDKException + */ + public function getActorsLibrary(int $sectionKey, Operations\GetActorsLibraryQueryParamType $type, ?Options $options = null): Operations\GetActorsLibraryResponse + { + $request = new Operations\GetActorsLibraryRequest( + sectionKey: $sectionKey, + type: $type, + ); + $baseUrl = Utils\Utils::templateUrl($this->sdkConfiguration->getServerUrl(), $this->sdkConfiguration->getServerDefaults()); + $url = Utils\Utils::generateUrl($baseUrl, '/library/sections/{sectionKey}/actor', Operations\GetActorsLibraryRequest::class, $request); + $urlOverride = null; + $httpOptions = ['http_errors' => false]; + + $qp = Utils\Utils::getQueryParams(Operations\GetActorsLibraryRequest::class, $request, $urlOverride); + $httpOptions['headers']['Accept'] = 'application/json'; + $httpOptions['headers']['user-agent'] = $this->sdkConfiguration->userAgent; + $httpRequest = new \GuzzleHttp\Psr7\Request('GET', $url); + $hookContext = new HookContext('get-actors-library', null, $this->sdkConfiguration->securitySource); + $httpRequest = $this->sdkConfiguration->hooks->beforeRequest(new Hooks\BeforeRequestContext($hookContext), $httpRequest); + $httpOptions['query'] = Utils\QueryParameters::standardizeQueryParams($httpRequest, $qp); + $httpOptions = Utils\Utils::convertHeadersToOptions($httpRequest, $httpOptions); + $httpRequest = Utils\Utils::removeHeaders($httpRequest); + try { + $httpResponse = $this->sdkConfiguration->client->send($httpRequest, $httpOptions); + } catch (\GuzzleHttp\Exception\GuzzleException $error) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), null, $error); + $httpResponse = $res; + } + $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; + + $statusCode = $httpResponse->getStatusCode(); + if (Utils\Utils::matchStatusCodes($statusCode, ['400', '401', '404', '4XX', '5XX'])) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); + $httpResponse = $res; + } + if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\LukeHagar\Plex_API\Models\Operations\GetActorsLibraryResponseBody', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $response = new Operations\GetActorsLibraryResponse( + statusCode: $statusCode, + contentType: $contentType, + rawResponse: $httpResponse, + object: $obj); + + return $response; + } else { + throw new \LukeHagar\Plex_API\Models\Errors\SDKException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['400'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\LukeHagar\Plex_API\Models\Errors\GetActorsLibraryBadRequest', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \LukeHagar\Plex_API\Models\Errors\SDKException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['401'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\LukeHagar\Plex_API\Models\Errors\GetActorsLibraryUnauthorized', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \LukeHagar\Plex_API\Models\Errors\SDKException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['404', '4XX'])) { + throw new \LukeHagar\Plex_API\Models\Errors\SDKException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['5XX'])) { + throw new \LukeHagar\Plex_API\Models\Errors\SDKException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } else { + throw new \LukeHagar\Plex_API\Models\Errors\SDKException('Unknown status code received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } + /** * Get All Libraries * @@ -220,23 +314,28 @@ class Library * * * @param int $sectionKey + * @param Operations\GetCountriesLibraryQueryParamType $type * @return Operations\GetCountriesLibraryResponse * @throws \LukeHagar\Plex_API\Models\Errors\SDKException */ - public function getCountriesLibrary(int $sectionKey, ?Options $options = null): Operations\GetCountriesLibraryResponse + public function getCountriesLibrary(int $sectionKey, Operations\GetCountriesLibraryQueryParamType $type, ?Options $options = null): Operations\GetCountriesLibraryResponse { $request = new Operations\GetCountriesLibraryRequest( sectionKey: $sectionKey, + type: $type, ); $baseUrl = Utils\Utils::templateUrl($this->sdkConfiguration->getServerUrl(), $this->sdkConfiguration->getServerDefaults()); $url = Utils\Utils::generateUrl($baseUrl, '/library/sections/{sectionKey}/country', Operations\GetCountriesLibraryRequest::class, $request); $urlOverride = null; $httpOptions = ['http_errors' => false]; + + $qp = Utils\Utils::getQueryParams(Operations\GetCountriesLibraryRequest::class, $request, $urlOverride); $httpOptions['headers']['Accept'] = 'application/json'; $httpOptions['headers']['user-agent'] = $this->sdkConfiguration->userAgent; $httpRequest = new \GuzzleHttp\Psr7\Request('GET', $url); $hookContext = new HookContext('get-countries-library', null, $this->sdkConfiguration->securitySource); $httpRequest = $this->sdkConfiguration->hooks->beforeRequest(new Hooks\BeforeRequestContext($hookContext), $httpRequest); + $httpOptions['query'] = Utils\QueryParameters::standardizeQueryParams($httpRequest, $qp); $httpOptions = Utils\Utils::convertHeadersToOptions($httpRequest, $httpOptions); $httpRequest = Utils\Utils::removeHeaders($httpRequest); try { @@ -309,23 +408,28 @@ class Library * * * @param int $sectionKey + * @param Operations\GetGenresLibraryQueryParamType $type * @return Operations\GetGenresLibraryResponse * @throws \LukeHagar\Plex_API\Models\Errors\SDKException */ - public function getGenresLibrary(int $sectionKey, ?Options $options = null): Operations\GetGenresLibraryResponse + public function getGenresLibrary(int $sectionKey, Operations\GetGenresLibraryQueryParamType $type, ?Options $options = null): Operations\GetGenresLibraryResponse { $request = new Operations\GetGenresLibraryRequest( sectionKey: $sectionKey, + type: $type, ); $baseUrl = Utils\Utils::templateUrl($this->sdkConfiguration->getServerUrl(), $this->sdkConfiguration->getServerDefaults()); $url = Utils\Utils::generateUrl($baseUrl, '/library/sections/{sectionKey}/genre', Operations\GetGenresLibraryRequest::class, $request); $urlOverride = null; $httpOptions = ['http_errors' => false]; + + $qp = Utils\Utils::getQueryParams(Operations\GetGenresLibraryRequest::class, $request, $urlOverride); $httpOptions['headers']['Accept'] = 'application/json'; $httpOptions['headers']['user-agent'] = $this->sdkConfiguration->userAgent; $httpRequest = new \GuzzleHttp\Psr7\Request('GET', $url); $hookContext = new HookContext('get-genres-library', null, $this->sdkConfiguration->securitySource); $httpRequest = $this->sdkConfiguration->hooks->beforeRequest(new Hooks\BeforeRequestContext($hookContext), $httpRequest); + $httpOptions['query'] = Utils\QueryParameters::standardizeQueryParams($httpRequest, $qp); $httpOptions = Utils\Utils::convertHeadersToOptions($httpRequest, $httpOptions); $httpRequest = Utils\Utils::removeHeaders($httpRequest); try { @@ -633,29 +737,29 @@ class Library } /** - * Get Metadata by RatingKey + * Get Media Metadata * - * This endpoint will return the metadata of a library item specified with the ratingKey. + * This endpoint will return all the (meta)data of a library item specified with by the ratingKey. * * - * @param int $ratingKey - * @return Operations\GetMetaDataByRatingKeyResponse + * @param Operations\GetMediaMetaDataRequest $request + * @return Operations\GetMediaMetaDataResponse * @throws \LukeHagar\Plex_API\Models\Errors\SDKException */ - public function getMetaDataByRatingKey(int $ratingKey, ?Options $options = null): Operations\GetMetaDataByRatingKeyResponse + public function getMediaMetaData(Operations\GetMediaMetaDataRequest $request, ?Options $options = null): Operations\GetMediaMetaDataResponse { - $request = new Operations\GetMetaDataByRatingKeyRequest( - ratingKey: $ratingKey, - ); $baseUrl = Utils\Utils::templateUrl($this->sdkConfiguration->getServerUrl(), $this->sdkConfiguration->getServerDefaults()); - $url = Utils\Utils::generateUrl($baseUrl, '/library/metadata/{ratingKey}', Operations\GetMetaDataByRatingKeyRequest::class, $request); + $url = Utils\Utils::generateUrl($baseUrl, '/library/metadata/{ratingKey}', Operations\GetMediaMetaDataRequest::class, $request); $urlOverride = null; $httpOptions = ['http_errors' => false]; + + $qp = Utils\Utils::getQueryParams(Operations\GetMediaMetaDataRequest::class, $request, $urlOverride); $httpOptions['headers']['Accept'] = 'application/json'; $httpOptions['headers']['user-agent'] = $this->sdkConfiguration->userAgent; $httpRequest = new \GuzzleHttp\Psr7\Request('GET', $url); - $hookContext = new HookContext('get-meta-data-by-rating-key', null, $this->sdkConfiguration->securitySource); + $hookContext = new HookContext('get-media-meta-data', null, $this->sdkConfiguration->securitySource); $httpRequest = $this->sdkConfiguration->hooks->beforeRequest(new Hooks\BeforeRequestContext($hookContext), $httpRequest); + $httpOptions['query'] = Utils\QueryParameters::standardizeQueryParams($httpRequest, $qp); $httpOptions = Utils\Utils::convertHeadersToOptions($httpRequest, $httpOptions); $httpRequest = Utils\Utils::removeHeaders($httpRequest); try { @@ -667,7 +771,7 @@ class Library $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['400', '401', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($statusCode, ['400', '401', '404', '4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } @@ -677,8 +781,8 @@ class Library $serializer = Utils\JSON::createSerializer(); $responseData = (string) $httpResponse->getBody(); - $obj = $serializer->deserialize($responseData, '\LukeHagar\Plex_API\Models\Operations\GetMetaDataByRatingKeyResponseBody', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); - $response = new Operations\GetMetaDataByRatingKeyResponse( + $obj = $serializer->deserialize($responseData, '\LukeHagar\Plex_API\Models\Operations\GetMediaMetaDataResponseBody', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $response = new Operations\GetMediaMetaDataResponse( statusCode: $statusCode, contentType: $contentType, rawResponse: $httpResponse, @@ -694,7 +798,7 @@ class Library $serializer = Utils\JSON::createSerializer(); $responseData = (string) $httpResponse->getBody(); - $obj = $serializer->deserialize($responseData, '\LukeHagar\Plex_API\Models\Errors\GetMetaDataByRatingKeyBadRequest', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj = $serializer->deserialize($responseData, '\LukeHagar\Plex_API\Models\Errors\GetMediaMetaDataBadRequest', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); $obj->rawResponse = $httpResponse; throw $obj->toException(); } else { @@ -706,13 +810,13 @@ class Library $serializer = Utils\JSON::createSerializer(); $responseData = (string) $httpResponse->getBody(); - $obj = $serializer->deserialize($responseData, '\LukeHagar\Plex_API\Models\Errors\GetMetaDataByRatingKeyUnauthorized', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj = $serializer->deserialize($responseData, '\LukeHagar\Plex_API\Models\Errors\GetMediaMetaDataUnauthorized', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); $obj->rawResponse = $httpResponse; throw $obj->toException(); } else { throw new \LukeHagar\Plex_API\Models\Errors\SDKException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); } - } elseif (Utils\Utils::matchStatusCodes($statusCode, ['4XX'])) { + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['404', '4XX'])) { throw new \LukeHagar\Plex_API\Models\Errors\SDKException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); } elseif (Utils\Utils::matchStatusCodes($statusCode, ['5XX'])) { throw new \LukeHagar\Plex_API\Models\Errors\SDKException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); diff --git a/src/Models/Errors/GetMetaDataByRatingKeyBadRequest.php b/src/Models/Errors/GetActorsLibraryBadRequest.php similarity index 69% rename from src/Models/Errors/GetMetaDataByRatingKeyBadRequest.php rename to src/Models/Errors/GetActorsLibraryBadRequest.php index 9aa20ba..4a63ae6 100644 --- a/src/Models/Errors/GetMetaDataByRatingKeyBadRequest.php +++ b/src/Models/Errors/GetActorsLibraryBadRequest.php @@ -9,16 +9,16 @@ declare(strict_types=1); namespace LukeHagar\Plex_API\Models\Errors; use LukeHagar\Plex_API\Utils; -/** GetMetaDataByRatingKeyBadRequest - Bad Request - A parameter was not specified, or was specified incorrectly. */ -class GetMetaDataByRatingKeyBadRequest +/** GetActorsLibraryBadRequest - Bad Request - A parameter was not specified, or was specified incorrectly. */ +class GetActorsLibraryBadRequest { /** * $errors * - * @var ?array $errors + * @var ?array $errors */ #[\Speakeasy\Serializer\Annotation\SerializedName('errors')] - #[\Speakeasy\Serializer\Annotation\Type('array<\LukeHagar\Plex_API\Models\Errors\GetMetaDataByRatingKeyErrors>|null')] + #[\Speakeasy\Serializer\Annotation\Type('array<\LukeHagar\Plex_API\Models\Errors\GetActorsLibraryErrors>|null')] #[\Speakeasy\Serializer\Annotation\SkipWhenNull] public ?array $errors = null; @@ -32,7 +32,7 @@ class GetMetaDataByRatingKeyBadRequest public ?\Psr\Http\Message\ResponseInterface $rawResponse = null; /** - * @param ?array $errors + * @param ?array $errors * @param ?\Psr\Http\Message\ResponseInterface $rawResponse * @phpstan-pure */ @@ -42,12 +42,12 @@ class GetMetaDataByRatingKeyBadRequest $this->rawResponse = $rawResponse; } - public function toException(): GetMetaDataByRatingKeyBadRequestThrowable + public function toException(): GetActorsLibraryBadRequestThrowable { $serializer = Utils\JSON::createSerializer(); $message = $serializer->serialize($this, 'json'); $code = -1; - return new GetMetaDataByRatingKeyBadRequestThrowable($message, (int) $code, $this); + return new GetActorsLibraryBadRequestThrowable($message, (int) $code, $this); } } \ No newline at end of file diff --git a/src/Models/Errors/GetMetaDataByRatingKeyBadRequestThrowable.php b/src/Models/Errors/GetActorsLibraryBadRequestThrowable.php similarity index 64% rename from src/Models/Errors/GetMetaDataByRatingKeyBadRequestThrowable.php rename to src/Models/Errors/GetActorsLibraryBadRequestThrowable.php index 9cb61f0..aadcaff 100644 --- a/src/Models/Errors/GetMetaDataByRatingKeyBadRequestThrowable.php +++ b/src/Models/Errors/GetActorsLibraryBadRequestThrowable.php @@ -8,11 +8,11 @@ declare(strict_types=1); namespace LukeHagar\Plex_API\Models\Errors; -class GetMetaDataByRatingKeyBadRequestThrowable extends \RuntimeException +class GetActorsLibraryBadRequestThrowable extends \RuntimeException { - public GetMetaDataByRatingKeyBadRequest $container; + public GetActorsLibraryBadRequest $container; - public function __construct(string $message, int $statusCode, GetMetaDataByRatingKeyBadRequest $container) + public function __construct(string $message, int $statusCode, GetActorsLibraryBadRequest $container) { parent::__construct($message, $statusCode); $this->container = $container; diff --git a/src/Models/Errors/GetMetaDataByRatingKeyErrors.php b/src/Models/Errors/GetActorsLibraryErrors.php similarity index 96% rename from src/Models/Errors/GetMetaDataByRatingKeyErrors.php rename to src/Models/Errors/GetActorsLibraryErrors.php index ba0ce63..8488b2a 100644 --- a/src/Models/Errors/GetMetaDataByRatingKeyErrors.php +++ b/src/Models/Errors/GetActorsLibraryErrors.php @@ -9,7 +9,7 @@ declare(strict_types=1); namespace LukeHagar\Plex_API\Models\Errors; -class GetMetaDataByRatingKeyErrors +class GetActorsLibraryErrors { /** * diff --git a/src/Models/Errors/GetMetaDataByRatingKeyLibraryErrors.php b/src/Models/Errors/GetActorsLibraryLibraryErrors.php similarity index 96% rename from src/Models/Errors/GetMetaDataByRatingKeyLibraryErrors.php rename to src/Models/Errors/GetActorsLibraryLibraryErrors.php index 2b763dc..3dac4cd 100644 --- a/src/Models/Errors/GetMetaDataByRatingKeyLibraryErrors.php +++ b/src/Models/Errors/GetActorsLibraryLibraryErrors.php @@ -9,7 +9,7 @@ declare(strict_types=1); namespace LukeHagar\Plex_API\Models\Errors; -class GetMetaDataByRatingKeyLibraryErrors +class GetActorsLibraryLibraryErrors { /** * diff --git a/src/Models/Errors/GetMetaDataByRatingKeyUnauthorized.php b/src/Models/Errors/GetActorsLibraryUnauthorized.php similarity index 68% rename from src/Models/Errors/GetMetaDataByRatingKeyUnauthorized.php rename to src/Models/Errors/GetActorsLibraryUnauthorized.php index 8b93055..95d71ba 100644 --- a/src/Models/Errors/GetMetaDataByRatingKeyUnauthorized.php +++ b/src/Models/Errors/GetActorsLibraryUnauthorized.php @@ -9,16 +9,16 @@ declare(strict_types=1); namespace LukeHagar\Plex_API\Models\Errors; use LukeHagar\Plex_API\Utils; -/** GetMetaDataByRatingKeyUnauthorized - Unauthorized - Returned if the X-Plex-Token is missing from the header or query. */ -class GetMetaDataByRatingKeyUnauthorized +/** GetActorsLibraryUnauthorized - Unauthorized - Returned if the X-Plex-Token is missing from the header or query. */ +class GetActorsLibraryUnauthorized { /** * $errors * - * @var ?array $errors + * @var ?array $errors */ #[\Speakeasy\Serializer\Annotation\SerializedName('errors')] - #[\Speakeasy\Serializer\Annotation\Type('array<\LukeHagar\Plex_API\Models\Errors\GetMetaDataByRatingKeyLibraryErrors>|null')] + #[\Speakeasy\Serializer\Annotation\Type('array<\LukeHagar\Plex_API\Models\Errors\GetActorsLibraryLibraryErrors>|null')] #[\Speakeasy\Serializer\Annotation\SkipWhenNull] public ?array $errors = null; @@ -32,7 +32,7 @@ class GetMetaDataByRatingKeyUnauthorized public ?\Psr\Http\Message\ResponseInterface $rawResponse = null; /** - * @param ?array $errors + * @param ?array $errors * @param ?\Psr\Http\Message\ResponseInterface $rawResponse * @phpstan-pure */ @@ -42,12 +42,12 @@ class GetMetaDataByRatingKeyUnauthorized $this->rawResponse = $rawResponse; } - public function toException(): GetMetaDataByRatingKeyUnauthorizedThrowable + public function toException(): GetActorsLibraryUnauthorizedThrowable { $serializer = Utils\JSON::createSerializer(); $message = $serializer->serialize($this, 'json'); $code = -1; - return new GetMetaDataByRatingKeyUnauthorizedThrowable($message, (int) $code, $this); + return new GetActorsLibraryUnauthorizedThrowable($message, (int) $code, $this); } } \ No newline at end of file diff --git a/src/Models/Errors/GetMetaDataByRatingKeyUnauthorizedThrowable.php b/src/Models/Errors/GetActorsLibraryUnauthorizedThrowable.php similarity index 64% rename from src/Models/Errors/GetMetaDataByRatingKeyUnauthorizedThrowable.php rename to src/Models/Errors/GetActorsLibraryUnauthorizedThrowable.php index d351069..a092551 100644 --- a/src/Models/Errors/GetMetaDataByRatingKeyUnauthorizedThrowable.php +++ b/src/Models/Errors/GetActorsLibraryUnauthorizedThrowable.php @@ -8,11 +8,11 @@ declare(strict_types=1); namespace LukeHagar\Plex_API\Models\Errors; -class GetMetaDataByRatingKeyUnauthorizedThrowable extends \RuntimeException +class GetActorsLibraryUnauthorizedThrowable extends \RuntimeException { - public GetMetaDataByRatingKeyUnauthorized $container; + public GetActorsLibraryUnauthorized $container; - public function __construct(string $message, int $statusCode, GetMetaDataByRatingKeyUnauthorized $container) + public function __construct(string $message, int $statusCode, GetActorsLibraryUnauthorized $container) { parent::__construct($message, $statusCode); $this->container = $container; diff --git a/src/Models/Errors/GetMediaMetaDataBadRequest.php b/src/Models/Errors/GetMediaMetaDataBadRequest.php new file mode 100644 index 0000000..8a11743 --- /dev/null +++ b/src/Models/Errors/GetMediaMetaDataBadRequest.php @@ -0,0 +1,53 @@ + $errors + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('errors')] + #[\Speakeasy\Serializer\Annotation\Type('array<\LukeHagar\Plex_API\Models\Errors\GetMediaMetaDataErrors>|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?array $errors = null; + + /** + * Raw HTTP response; suitable for custom response parsing + * + * @var ?\Psr\Http\Message\ResponseInterface $rawResponse + */ + #[\Speakeasy\Serializer\Annotation\Exclude] + + public ?\Psr\Http\Message\ResponseInterface $rawResponse = null; + + /** + * @param ?array $errors + * @param ?\Psr\Http\Message\ResponseInterface $rawResponse + * @phpstan-pure + */ + public function __construct(?array $errors = null, ?\Psr\Http\Message\ResponseInterface $rawResponse = null) + { + $this->errors = $errors; + $this->rawResponse = $rawResponse; + } + + public function toException(): GetMediaMetaDataBadRequestThrowable + { + $serializer = Utils\JSON::createSerializer(); + $message = $serializer->serialize($this, 'json'); + $code = -1; + + return new GetMediaMetaDataBadRequestThrowable($message, (int) $code, $this); + } +} \ No newline at end of file diff --git a/src/Models/Errors/GetMediaMetaDataBadRequestThrowable.php b/src/Models/Errors/GetMediaMetaDataBadRequestThrowable.php new file mode 100644 index 0000000..999e27d --- /dev/null +++ b/src/Models/Errors/GetMediaMetaDataBadRequestThrowable.php @@ -0,0 +1,20 @@ +container = $container; + } +} \ No newline at end of file diff --git a/src/Models/Errors/GetMediaMetaDataErrors.php b/src/Models/Errors/GetMediaMetaDataErrors.php new file mode 100644 index 0000000..cdebfb5 --- /dev/null +++ b/src/Models/Errors/GetMediaMetaDataErrors.php @@ -0,0 +1,50 @@ +code = $code; + $this->message = $message; + $this->status = $status; + } +} \ No newline at end of file diff --git a/src/Models/Errors/GetMediaMetaDataLibraryErrors.php b/src/Models/Errors/GetMediaMetaDataLibraryErrors.php new file mode 100644 index 0000000..ae1e226 --- /dev/null +++ b/src/Models/Errors/GetMediaMetaDataLibraryErrors.php @@ -0,0 +1,50 @@ +code = $code; + $this->message = $message; + $this->status = $status; + } +} \ No newline at end of file diff --git a/src/Models/Errors/GetMediaMetaDataUnauthorized.php b/src/Models/Errors/GetMediaMetaDataUnauthorized.php new file mode 100644 index 0000000..b4c78e7 --- /dev/null +++ b/src/Models/Errors/GetMediaMetaDataUnauthorized.php @@ -0,0 +1,53 @@ + $errors + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('errors')] + #[\Speakeasy\Serializer\Annotation\Type('array<\LukeHagar\Plex_API\Models\Errors\GetMediaMetaDataLibraryErrors>|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?array $errors = null; + + /** + * Raw HTTP response; suitable for custom response parsing + * + * @var ?\Psr\Http\Message\ResponseInterface $rawResponse + */ + #[\Speakeasy\Serializer\Annotation\Exclude] + + public ?\Psr\Http\Message\ResponseInterface $rawResponse = null; + + /** + * @param ?array $errors + * @param ?\Psr\Http\Message\ResponseInterface $rawResponse + * @phpstan-pure + */ + public function __construct(?array $errors = null, ?\Psr\Http\Message\ResponseInterface $rawResponse = null) + { + $this->errors = $errors; + $this->rawResponse = $rawResponse; + } + + public function toException(): GetMediaMetaDataUnauthorizedThrowable + { + $serializer = Utils\JSON::createSerializer(); + $message = $serializer->serialize($this, 'json'); + $code = -1; + + return new GetMediaMetaDataUnauthorizedThrowable($message, (int) $code, $this); + } +} \ No newline at end of file diff --git a/src/Models/Errors/GetMediaMetaDataUnauthorizedThrowable.php b/src/Models/Errors/GetMediaMetaDataUnauthorizedThrowable.php new file mode 100644 index 0000000..5d663e2 --- /dev/null +++ b/src/Models/Errors/GetMediaMetaDataUnauthorizedThrowable.php @@ -0,0 +1,20 @@ +container = $container; + } +} \ No newline at end of file diff --git a/src/Models/Operations/GetActorsLibraryDirectory.php b/src/Models/Operations/GetActorsLibraryDirectory.php new file mode 100644 index 0000000..09d14f2 --- /dev/null +++ b/src/Models/Operations/GetActorsLibraryDirectory.php @@ -0,0 +1,60 @@ +fastKey = $fastKey; + $this->thumb = $thumb; + $this->key = $key; + $this->title = $title; + } +} \ No newline at end of file diff --git a/src/Models/Operations/GetActorsLibraryMediaContainer.php b/src/Models/Operations/GetActorsLibraryMediaContainer.php new file mode 100644 index 0000000..129f972 --- /dev/null +++ b/src/Models/Operations/GetActorsLibraryMediaContainer.php @@ -0,0 +1,151 @@ + $directory + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('Directory')] + #[\Speakeasy\Serializer\Annotation\Type('array<\LukeHagar\Plex_API\Models\Operations\GetActorsLibraryDirectory>|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?array $directory = null; + + /** + * @param float $size + * @param bool $allowSync + * @param string $art + * @param string $identifier + * @param string $mediaTagPrefix + * @param int $mediaTagVersion + * @param bool $nocache + * @param string $thumb + * @param string $title1 + * @param string $title2 + * @param string $viewGroup + * @param string $viewMode + * @param ?array $directory + * @phpstan-pure + */ + public function __construct(float $size, bool $allowSync, string $art, string $identifier, string $mediaTagPrefix, int $mediaTagVersion, bool $nocache, string $thumb, string $title1, string $title2, string $viewGroup, string $viewMode, ?array $directory = null) + { + $this->size = $size; + $this->allowSync = $allowSync; + $this->art = $art; + $this->identifier = $identifier; + $this->mediaTagPrefix = $mediaTagPrefix; + $this->mediaTagVersion = $mediaTagVersion; + $this->nocache = $nocache; + $this->thumb = $thumb; + $this->title1 = $title1; + $this->title2 = $title2; + $this->viewGroup = $viewGroup; + $this->viewMode = $viewMode; + $this->directory = $directory; + } +} \ No newline at end of file diff --git a/src/Models/Operations/GetActorsLibraryQueryParamType.php b/src/Models/Operations/GetActorsLibraryQueryParamType.php new file mode 100644 index 0000000..fbddda4 --- /dev/null +++ b/src/Models/Operations/GetActorsLibraryQueryParamType.php @@ -0,0 +1,31 @@ +sectionKey = $sectionKey; + $this->type = $type; + } +} \ No newline at end of file diff --git a/src/Models/Operations/GetActorsLibraryResponse.php b/src/Models/Operations/GetActorsLibraryResponse.php new file mode 100644 index 0000000..5133834 --- /dev/null +++ b/src/Models/Operations/GetActorsLibraryResponse.php @@ -0,0 +1,56 @@ +contentType = $contentType; + $this->statusCode = $statusCode; + $this->rawResponse = $rawResponse; + $this->object = $object; + } +} \ No newline at end of file diff --git a/src/Models/Operations/GetActorsLibraryResponseBody.php b/src/Models/Operations/GetActorsLibraryResponseBody.php new file mode 100644 index 0000000..cb9fc82 --- /dev/null +++ b/src/Models/Operations/GetActorsLibraryResponseBody.php @@ -0,0 +1,32 @@ +mediaContainer = $mediaContainer; + } +} \ No newline at end of file diff --git a/src/Models/Operations/GetCountriesLibraryQueryParamType.php b/src/Models/Operations/GetCountriesLibraryQueryParamType.php new file mode 100644 index 0000000..2e52e5d --- /dev/null +++ b/src/Models/Operations/GetCountriesLibraryQueryParamType.php @@ -0,0 +1,31 @@ +sectionKey = $sectionKey; + $this->type = $type; } } \ No newline at end of file diff --git a/src/Models/Operations/GetGenresLibraryQueryParamType.php b/src/Models/Operations/GetGenresLibraryQueryParamType.php new file mode 100644 index 0000000..525bfaa --- /dev/null +++ b/src/Models/Operations/GetGenresLibraryQueryParamType.php @@ -0,0 +1,31 @@ +sectionKey = $sectionKey; + $this->type = $type; } } \ No newline at end of file diff --git a/src/Models/Operations/GetLibraryItemsQueryParamType.php b/src/Models/Operations/GetLibraryItemsQueryParamType.php index 05606d4..d3b27d4 100644 --- a/src/Models/Operations/GetLibraryItemsQueryParamType.php +++ b/src/Models/Operations/GetLibraryItemsQueryParamType.php @@ -10,7 +10,7 @@ namespace LukeHagar\Plex_API\Models\Operations; /** - * The type of media to retrieve. + * The type of media to retrieve or filter by. * * 1 = movie * 2 = show diff --git a/src/Models/Operations/GetLibraryItemsRequest.php b/src/Models/Operations/GetLibraryItemsRequest.php index 9ce3aba..d871600 100644 --- a/src/Models/Operations/GetLibraryItemsRequest.php +++ b/src/Models/Operations/GetLibraryItemsRequest.php @@ -19,6 +19,21 @@ class GetLibraryItemsRequest #[SpeakeasyMetadata('pathParam:style=simple,explode=false,name=tag')] public Tag $tag; + /** + * The type of media to retrieve or filter by. + * + * 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 + * + * + * @var GetLibraryItemsQueryParamType $type + */ + #[SpeakeasyMetadata('queryParam:style=form,explode=true,name=type')] + public GetLibraryItemsQueryParamType $type; + /** * The unique key of the Plex library. * @@ -30,21 +45,6 @@ class GetLibraryItemsRequest #[SpeakeasyMetadata('pathParam:style=simple,explode=false,name=sectionKey')] public int $sectionKey; - /** - * 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 - * - * - * @var ?GetLibraryItemsQueryParamType $type - */ - #[SpeakeasyMetadata('queryParam:style=form,explode=true,name=type')] - public ?GetLibraryItemsQueryParamType $type = null; - /** * Adds the Guids object to the response * @@ -91,19 +91,19 @@ class GetLibraryItemsRequest /** * @param Tag $tag + * @param GetLibraryItemsQueryParamType $type * @param int $sectionKey * @param ?IncludeGuids $includeGuids - * @param ?GetLibraryItemsQueryParamType $type * @param ?GetLibraryItemsQueryParamIncludeMeta $includeMeta * @param ?int $xPlexContainerStart * @param ?int $xPlexContainerSize * @phpstan-pure */ - public function __construct(Tag $tag, int $sectionKey, ?GetLibraryItemsQueryParamType $type = null, ?IncludeGuids $includeGuids = IncludeGuids::Disable, ?GetLibraryItemsQueryParamIncludeMeta $includeMeta = GetLibraryItemsQueryParamIncludeMeta::Disable, ?int $xPlexContainerStart = 0, ?int $xPlexContainerSize = 50) + public function __construct(Tag $tag, GetLibraryItemsQueryParamType $type, int $sectionKey, ?IncludeGuids $includeGuids = IncludeGuids::Disable, ?GetLibraryItemsQueryParamIncludeMeta $includeMeta = GetLibraryItemsQueryParamIncludeMeta::Disable, ?int $xPlexContainerStart = 0, ?int $xPlexContainerSize = 50) { $this->tag = $tag; - $this->sectionKey = $sectionKey; $this->type = $type; + $this->sectionKey = $sectionKey; $this->includeGuids = $includeGuids; $this->includeMeta = $includeMeta; $this->xPlexContainerStart = $xPlexContainerStart; diff --git a/src/Models/Operations/GetMetaDataByRatingKeyGenre.php b/src/Models/Operations/GetMediaMetaDataCountry.php similarity index 50% rename from src/Models/Operations/GetMetaDataByRatingKeyGenre.php rename to src/Models/Operations/GetMediaMetaDataCountry.php index 9cf8a5b..37d03c1 100644 --- a/src/Models/Operations/GetMetaDataByRatingKeyGenre.php +++ b/src/Models/Operations/GetMediaMetaDataCountry.php @@ -9,39 +9,39 @@ declare(strict_types=1); namespace LukeHagar\Plex_API\Models\Operations; -class GetMetaDataByRatingKeyGenre +class GetMediaMetaDataCountry { /** + * The unique country identifier. * - * @var ?int $id + * @var int $id */ #[\Speakeasy\Serializer\Annotation\SerializedName('id')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?int $id = null; + public int $id; /** + * The filter string for the country. * - * @var ?string $filter + * @var string $filter */ #[\Speakeasy\Serializer\Annotation\SerializedName('filter')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?string $filter = null; + public string $filter; /** + * The country name. * - * @var ?string $tag + * @var string $tag */ #[\Speakeasy\Serializer\Annotation\SerializedName('tag')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?string $tag = null; + public string $tag; /** - * @param ?int $id - * @param ?string $filter - * @param ?string $tag + * @param int $id + * @param string $filter + * @param string $tag * @phpstan-pure */ - public function __construct(?int $id = null, ?string $filter = null, ?string $tag = null) + public function __construct(int $id, string $filter, string $tag) { $this->id = $id; $this->filter = $filter; diff --git a/src/Models/Operations/GetMetaDataByRatingKeyRole.php b/src/Models/Operations/GetMediaMetaDataDirector.php similarity index 61% rename from src/Models/Operations/GetMetaDataByRatingKeyRole.php rename to src/Models/Operations/GetMediaMetaDataDirector.php index 761a9c5..5ad5575 100644 --- a/src/Models/Operations/GetMetaDataByRatingKeyRole.php +++ b/src/Models/Operations/GetMediaMetaDataDirector.php @@ -9,41 +9,42 @@ declare(strict_types=1); namespace LukeHagar\Plex_API\Models\Operations; -class GetMetaDataByRatingKeyRole +class GetMediaMetaDataDirector { /** + * The unique role identifier. * - * @var ?int $id + * @var int $id */ #[\Speakeasy\Serializer\Annotation\SerializedName('id')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?int $id = null; + public int $id; /** + * The filter string for the role. * - * @var ?string $filter + * @var string $filter */ #[\Speakeasy\Serializer\Annotation\SerializedName('filter')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?string $filter = null; + public string $filter; /** + * The actor's name. * - * @var ?string $tag + * @var string $tag */ #[\Speakeasy\Serializer\Annotation\SerializedName('tag')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?string $tag = null; + public string $tag; /** + * A key associated with the actor tag. * - * @var ?string $tagKey + * @var string $tagKey */ #[\Speakeasy\Serializer\Annotation\SerializedName('tagKey')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?string $tagKey = null; + public string $tagKey; /** + * The character name or role. * * @var ?string $role */ @@ -52,6 +53,7 @@ class GetMetaDataByRatingKeyRole public ?string $role = null; /** + * URL for the role thumbnail image. * * @var ?string $thumb */ @@ -60,15 +62,15 @@ class GetMetaDataByRatingKeyRole public ?string $thumb = null; /** - * @param ?int $id - * @param ?string $filter - * @param ?string $tag - * @param ?string $tagKey + * @param int $id + * @param string $filter + * @param string $tag + * @param string $tagKey * @param ?string $role * @param ?string $thumb * @phpstan-pure */ - public function __construct(?int $id = null, ?string $filter = null, ?string $tag = null, ?string $tagKey = null, ?string $role = null, ?string $thumb = null) + public function __construct(int $id, string $filter, string $tag, string $tagKey, ?string $role = null, ?string $thumb = null) { $this->id = $id; $this->filter = $filter; diff --git a/src/Models/Operations/GetMetaDataByRatingKeyCountry.php b/src/Models/Operations/GetMediaMetaDataGenre.php similarity index 50% rename from src/Models/Operations/GetMetaDataByRatingKeyCountry.php rename to src/Models/Operations/GetMediaMetaDataGenre.php index 1c626ed..81b7ea5 100644 --- a/src/Models/Operations/GetMetaDataByRatingKeyCountry.php +++ b/src/Models/Operations/GetMediaMetaDataGenre.php @@ -9,39 +9,39 @@ declare(strict_types=1); namespace LukeHagar\Plex_API\Models\Operations; -class GetMetaDataByRatingKeyCountry +class GetMediaMetaDataGenre { /** + * The unique genre identifier. * - * @var ?int $id + * @var int $id */ #[\Speakeasy\Serializer\Annotation\SerializedName('id')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?int $id = null; + public int $id; /** + * The filter string for the genre. * - * @var ?string $filter + * @var string $filter */ #[\Speakeasy\Serializer\Annotation\SerializedName('filter')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?string $filter = null; + public string $filter; /** + * The genre name. * - * @var ?string $tag + * @var string $tag */ #[\Speakeasy\Serializer\Annotation\SerializedName('tag')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?string $tag = null; + public string $tag; /** - * @param ?int $id - * @param ?string $filter - * @param ?string $tag + * @param int $id + * @param string $filter + * @param string $tag * @phpstan-pure */ - public function __construct(?int $id = null, ?string $filter = null, ?string $tag = null) + public function __construct(int $id, string $filter, string $tag) { $this->id = $id; $this->filter = $filter; diff --git a/src/Models/Operations/GetMediaMetaDataImage.php b/src/Models/Operations/GetMediaMetaDataImage.php new file mode 100644 index 0000000..6b112c8 --- /dev/null +++ b/src/Models/Operations/GetMediaMetaDataImage.php @@ -0,0 +1,50 @@ +alt = $alt; + $this->type = $type; + $this->url = $url; + } +} \ No newline at end of file diff --git a/src/Models/Operations/GetMediaMetaDataLocation.php b/src/Models/Operations/GetMediaMetaDataLocation.php new file mode 100644 index 0000000..5a9cc1e --- /dev/null +++ b/src/Models/Operations/GetMediaMetaDataLocation.php @@ -0,0 +1,30 @@ +path = $path; + } +} \ No newline at end of file diff --git a/src/Models/Operations/GetMediaMetaDataMedia.php b/src/Models/Operations/GetMediaMetaDataMedia.php new file mode 100644 index 0000000..f79ec54 --- /dev/null +++ b/src/Models/Operations/GetMediaMetaDataMedia.php @@ -0,0 +1,171 @@ + $part + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('Part')] + #[\Speakeasy\Serializer\Annotation\Type('array<\LukeHagar\Plex_API\Models\Operations\GetMediaMetaDataPart>')] + 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 bool $hasVoiceActivity + * @param array $part + * @phpstan-pure + */ + 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, bool $hasVoiceActivity, array $part) + { + $this->id = $id; + $this->duration = $duration; + $this->bitrate = $bitrate; + $this->width = $width; + $this->height = $height; + $this->aspectRatio = $aspectRatio; + $this->audioChannels = $audioChannels; + $this->audioCodec = $audioCodec; + $this->videoCodec = $videoCodec; + $this->videoResolution = $videoResolution; + $this->container = $container; + $this->videoFrameRate = $videoFrameRate; + $this->videoProfile = $videoProfile; + $this->hasVoiceActivity = $hasVoiceActivity; + $this->part = $part; + } +} \ No newline at end of file diff --git a/src/Models/Operations/GetMediaMetaDataMediaContainer.php b/src/Models/Operations/GetMediaMetaDataMediaContainer.php new file mode 100644 index 0000000..728e6f4 --- /dev/null +++ b/src/Models/Operations/GetMediaMetaDataMediaContainer.php @@ -0,0 +1,111 @@ + $metadata + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('Metadata')] + #[\Speakeasy\Serializer\Annotation\Type('array<\LukeHagar\Plex_API\Models\Operations\GetMediaMetaDataMetadata>')] + public array $metadata; + + /** + * The universally unique identifier for the library section. + * + * @var ?string $librarySectionUUID + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('librarySectionUUID')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $librarySectionUUID = null; + + /** + * @param float $size + * @param bool $allowSync + * @param string $identifier + * @param int $librarySectionID + * @param string $librarySectionTitle + * @param string $mediaTagPrefix + * @param int $mediaTagVersion + * @param array $metadata + * @param ?string $librarySectionUUID + * @phpstan-pure + */ + public function __construct(float $size, bool $allowSync, string $identifier, int $librarySectionID, string $librarySectionTitle, string $mediaTagPrefix, int $mediaTagVersion, array $metadata, ?string $librarySectionUUID = null) + { + $this->size = $size; + $this->allowSync = $allowSync; + $this->identifier = $identifier; + $this->librarySectionID = $librarySectionID; + $this->librarySectionTitle = $librarySectionTitle; + $this->mediaTagPrefix = $mediaTagPrefix; + $this->mediaTagVersion = $mediaTagVersion; + $this->metadata = $metadata; + $this->librarySectionUUID = $librarySectionUUID; + } +} \ No newline at end of file diff --git a/src/Models/Operations/GetMediaMetaDataMetadata.php b/src/Models/Operations/GetMediaMetaDataMetadata.php new file mode 100644 index 0000000..f2dd678 --- /dev/null +++ b/src/Models/Operations/GetMediaMetaDataMetadata.php @@ -0,0 +1,656 @@ + $image + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('Image')] + #[\Speakeasy\Serializer\Annotation\Type('array<\LukeHagar\Plex_API\Models\Operations\GetMediaMetaDataImage>')] + public array $image; + + /** + * + * @var GetMediaMetaDataUltraBlurColors $ultraBlurColors + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('UltraBlurColors')] + #[\Speakeasy\Serializer\Annotation\Type('\LukeHagar\Plex_API\Models\Operations\GetMediaMetaDataUltraBlurColors')] + public GetMediaMetaDataUltraBlurColors $ultraBlurColors; + + /** + * An array of GUID objects. + * + * @var array $guids + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('Guid')] + #[\Speakeasy\Serializer\Annotation\Type('array<\LukeHagar\Plex_API\Models\Operations\Guids>')] + public array $guids; + + /** + * An array of rating objects. + * + * @var array $rating + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('Rating')] + #[\Speakeasy\Serializer\Annotation\Type('array<\LukeHagar\Plex_API\Models\Operations\Rating>')] + public array $rating; + + /** + * The rating key of the parent of this metadata item. + * + * @var ?string $parentRatingKey + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('parentRatingKey')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $parentRatingKey = null; + + /** + * The rating key of the grandparent of this metadata item. + * + * @var ?string $grandparentRatingKey + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('grandparentRatingKey')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $grandparentRatingKey = null; + + /** + * A GUID identifying the parent entity (e.g., season) for the item. + * + * @var ?string $parentGuid + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('parentGuid')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $parentGuid = null; + + /** + * A GUID identifying the grandparent entity (e.g., show). + * + * @var ?string $grandparentGuid + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('grandparentGuid')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $grandparentGuid = null; + + /** + * A URL-friendly identifier (slug) for the grandparent entity. + * + * @var ?string $grandparentSlug + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('grandparentSlug')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $grandparentSlug = null; + + /** + * A key identifying the grandparent metadata in the library. + * + * @var ?string $grandparentKey + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('grandparentKey')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $grandparentKey = null; + + /** + * A key identifying the parent metadata in the library. + * + * @var ?string $parentKey + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('parentKey')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $parentKey = null; + + /** + * A URL-friendly identifier for the item. + * + * @var ?string $slug + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('slug')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $slug = null; + + /** + * The studio that produced the content. + * + * @var ?string $studio + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('studio')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $studio = null; + + /** + * The original title of the content. + * + * @var ?string $originalTitle + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('originalTitle')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $originalTitle = null; + + /** + * The index or order of the item. + * + * @var ?int $index + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('index')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?int $index = null; + + /** + * The title of the grandparent entity (typically the show's title). + * + * @var ?string $grandparentTitle + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('grandparentTitle')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $grandparentTitle = null; + + /** + * The title of the parent entity (typically the season's title). + * + * @var ?string $parentTitle + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('parentTitle')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $parentTitle = null; + + /** + * The number of times the item has been viewed. + * + * @var ?int $viewCount + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('viewCount')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?int $viewCount = null; + + /** + * The number of times the item has been skipped. + * + * @var ?int $skipCount + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('skipCount')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?int $skipCount = null; + + /** + * Unix timestamp of when the item was last viewed. + * + * @var ?int $lastViewedAt + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('lastViewedAt')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?int $lastViewedAt = null; + + /** + * The tagline of the content. + * + * @var ?string $tagline + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('tagline')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $tagline = null; + + /** + * + * @var ?string $chapterSource + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('chapterSource')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $chapterSource = null; + + /** + * + * @var ?string $primaryExtraKey + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('primaryExtraKey')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $primaryExtraKey = null; + + /** + * URL of the theme image. + * + * @var ?string $theme + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('theme')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $theme = null; + + /** + * The total number of episodes (or leaves). + * + * @var ?int $leafCount + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('leafCount')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?int $leafCount = null; + + /** + * The number of episodes that have been viewed. + * + * @var ?int $viewedLeafCount + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('viewedLeafCount')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?int $viewedLeafCount = null; + + /** + * The number of child items. + * + * @var ?int $childCount + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('childCount')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?int $childCount = null; + + /** + * The index number of the parent entity, which could indicate its order or position. + * + * @var ?int $parentIndex + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('parentIndex')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?int $parentIndex = null; + + /** + * The URL of the parent's thumbnail image. + * + * @var ?string $parentThumb + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('parentThumb')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $parentThumb = null; + + /** + * The URL of the grandparent's thumbnail image. + * + * @var ?string $grandparentThumb + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('grandparentThumb')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $grandparentThumb = null; + + /** + * The URL of the grandparent's art image. + * + * @var ?string $grandparentArt + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('grandparentArt')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $grandparentArt = null; + + /** + * $media + * + * @var ?array $media + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('Media')] + #[\Speakeasy\Serializer\Annotation\Type('array<\LukeHagar\Plex_API\Models\Operations\GetMediaMetaDataMedia>|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?array $media = null; + + /** + * An array of genre tags. + * + * @var ?array $genre + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('Genre')] + #[\Speakeasy\Serializer\Annotation\Type('array<\LukeHagar\Plex_API\Models\Operations\GetMediaMetaDataGenre>|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?array $genre = null; + + /** + * An array of country tags. + * + * @var ?array $country + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('Country')] + #[\Speakeasy\Serializer\Annotation\Type('array<\LukeHagar\Plex_API\Models\Operations\GetMediaMetaDataCountry>|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?array $country = null; + + /** + * An array of Actor roles. + * + * @var ?array $role + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('Role')] + #[\Speakeasy\Serializer\Annotation\Type('array<\LukeHagar\Plex_API\Models\Operations\GetMediaMetaDataRole>|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?array $role = null; + + /** + * An array of Director roles. + * + * @var ?array $director + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('Director')] + #[\Speakeasy\Serializer\Annotation\Type('array<\LukeHagar\Plex_API\Models\Operations\GetMediaMetaDataDirector>|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?array $director = null; + + /** + * An array of Writer roles. + * + * @var ?array $writer + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('Writer')] + #[\Speakeasy\Serializer\Annotation\Type('array<\LukeHagar\Plex_API\Models\Operations\GetMediaMetaDataWriter>|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?array $writer = null; + + /** + * An array of Writer roles. + * + * @var ?array $producer + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('Producer')] + #[\Speakeasy\Serializer\Annotation\Type('array<\LukeHagar\Plex_API\Models\Operations\Producer>|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?array $producer = null; + + /** + * An array of similar content objects. + * + * @var ?array $similar + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('Similar')] + #[\Speakeasy\Serializer\Annotation\Type('array<\LukeHagar\Plex_API\Models\Operations\Similar>|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?array $similar = null; + + /** + * An array of location objects. + * + * @var ?array $location + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('Location')] + #[\Speakeasy\Serializer\Annotation\Type('array<\LukeHagar\Plex_API\Models\Operations\GetMediaMetaDataLocation>|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?array $location = null; + + /** + * @param string $ratingKey + * @param string $key + * @param string $guid + * @param string $type + * @param string $title + * @param string $librarySectionTitle + * @param int $librarySectionID + * @param string $librarySectionKey + * @param string $contentRating + * @param string $summary + * @param float $audienceRating + * @param int $year + * @param string $thumb + * @param string $art + * @param int $duration + * @param LocalDate $originallyAvailableAt + * @param int $addedAt + * @param int $updatedAt + * @param string $audienceRatingImage + * @param array $image + * @param GetMediaMetaDataUltraBlurColors $ultraBlurColors + * @param array $guids + * @param array $rating + * @param ?string $parentRatingKey + * @param ?string $grandparentRatingKey + * @param ?string $parentGuid + * @param ?string $grandparentGuid + * @param ?string $grandparentSlug + * @param ?string $grandparentKey + * @param ?string $parentKey + * @param ?string $slug + * @param ?string $studio + * @param ?string $originalTitle + * @param ?int $index + * @param ?string $grandparentTitle + * @param ?string $parentTitle + * @param ?int $viewCount + * @param ?int $skipCount + * @param ?int $lastViewedAt + * @param ?string $tagline + * @param ?string $chapterSource + * @param ?string $primaryExtraKey + * @param ?string $theme + * @param ?int $leafCount + * @param ?int $viewedLeafCount + * @param ?int $childCount + * @param ?int $parentIndex + * @param ?string $parentThumb + * @param ?string $grandparentThumb + * @param ?string $grandparentArt + * @param ?array $media + * @param ?array $genre + * @param ?array $country + * @param ?array $role + * @param ?array $director + * @param ?array $writer + * @param ?array $producer + * @param ?array $similar + * @param ?array $location + * @phpstan-pure + */ + public function __construct(string $ratingKey, string $key, string $guid, string $type, string $title, string $librarySectionTitle, int $librarySectionID, string $librarySectionKey, string $contentRating, string $summary, float $audienceRating, int $year, string $thumb, string $art, int $duration, LocalDate $originallyAvailableAt, int $addedAt, int $updatedAt, string $audienceRatingImage, array $image, GetMediaMetaDataUltraBlurColors $ultraBlurColors, array $guids, array $rating, ?string $parentRatingKey = null, ?string $grandparentRatingKey = null, ?string $parentGuid = null, ?string $grandparentGuid = null, ?string $grandparentSlug = null, ?string $grandparentKey = null, ?string $parentKey = null, ?string $slug = null, ?string $studio = null, ?string $originalTitle = null, ?int $index = null, ?string $grandparentTitle = null, ?string $parentTitle = null, ?int $viewCount = null, ?int $skipCount = null, ?int $lastViewedAt = null, ?string $tagline = null, ?string $chapterSource = null, ?string $primaryExtraKey = null, ?string $theme = null, ?int $leafCount = null, ?int $viewedLeafCount = null, ?int $childCount = null, ?int $parentIndex = null, ?string $parentThumb = null, ?string $grandparentThumb = null, ?string $grandparentArt = null, ?array $media = null, ?array $genre = null, ?array $country = null, ?array $role = null, ?array $director = null, ?array $writer = null, ?array $producer = null, ?array $similar = null, ?array $location = null) + { + $this->ratingKey = $ratingKey; + $this->key = $key; + $this->guid = $guid; + $this->type = $type; + $this->title = $title; + $this->librarySectionTitle = $librarySectionTitle; + $this->librarySectionID = $librarySectionID; + $this->librarySectionKey = $librarySectionKey; + $this->contentRating = $contentRating; + $this->summary = $summary; + $this->audienceRating = $audienceRating; + $this->year = $year; + $this->thumb = $thumb; + $this->art = $art; + $this->duration = $duration; + $this->originallyAvailableAt = $originallyAvailableAt; + $this->addedAt = $addedAt; + $this->updatedAt = $updatedAt; + $this->audienceRatingImage = $audienceRatingImage; + $this->image = $image; + $this->ultraBlurColors = $ultraBlurColors; + $this->guids = $guids; + $this->rating = $rating; + $this->parentRatingKey = $parentRatingKey; + $this->grandparentRatingKey = $grandparentRatingKey; + $this->parentGuid = $parentGuid; + $this->grandparentGuid = $grandparentGuid; + $this->grandparentSlug = $grandparentSlug; + $this->grandparentKey = $grandparentKey; + $this->parentKey = $parentKey; + $this->slug = $slug; + $this->studio = $studio; + $this->originalTitle = $originalTitle; + $this->index = $index; + $this->grandparentTitle = $grandparentTitle; + $this->parentTitle = $parentTitle; + $this->viewCount = $viewCount; + $this->skipCount = $skipCount; + $this->lastViewedAt = $lastViewedAt; + $this->tagline = $tagline; + $this->chapterSource = $chapterSource; + $this->primaryExtraKey = $primaryExtraKey; + $this->theme = $theme; + $this->leafCount = $leafCount; + $this->viewedLeafCount = $viewedLeafCount; + $this->childCount = $childCount; + $this->parentIndex = $parentIndex; + $this->parentThumb = $parentThumb; + $this->grandparentThumb = $grandparentThumb; + $this->grandparentArt = $grandparentArt; + $this->media = $media; + $this->genre = $genre; + $this->country = $country; + $this->role = $role; + $this->director = $director; + $this->writer = $writer; + $this->producer = $producer; + $this->similar = $similar; + $this->location = $location; + } +} \ No newline at end of file diff --git a/src/Models/Operations/GetMediaMetaDataPart.php b/src/Models/Operations/GetMediaMetaDataPart.php new file mode 100644 index 0000000..c1d0b57 --- /dev/null +++ b/src/Models/Operations/GetMediaMetaDataPart.php @@ -0,0 +1,133 @@ + $stream + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('Stream')] + #[\Speakeasy\Serializer\Annotation\Type('array<\LukeHagar\Plex_API\Models\Operations\GetMediaMetaDataStream>')] + public array $stream; + + /** + * Indicates if the part is accessible. + * + * @var ?bool $accessible + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('accessible')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?bool $accessible = null; + + /** + * Indicates if the part exists. + * + * @var ?bool $exists + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('exists')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?bool $exists = null; + + /** + * + * @var ?string $indexes + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('indexes')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $indexes = null; + + /** + * @param int $id + * @param string $key + * @param int $duration + * @param string $file + * @param int $size + * @param string $container + * @param string $videoProfile + * @param array $stream + * @param ?bool $accessible + * @param ?bool $exists + * @param ?string $indexes + * @phpstan-pure + */ + public function __construct(int $id, string $key, int $duration, string $file, int $size, string $container, string $videoProfile, array $stream, ?bool $accessible = null, ?bool $exists = null, ?string $indexes = null) + { + $this->id = $id; + $this->key = $key; + $this->duration = $duration; + $this->file = $file; + $this->size = $size; + $this->container = $container; + $this->videoProfile = $videoProfile; + $this->stream = $stream; + $this->accessible = $accessible; + $this->exists = $exists; + $this->indexes = $indexes; + } +} \ No newline at end of file diff --git a/src/Models/Operations/GetMediaMetaDataRequest.php b/src/Models/Operations/GetMediaMetaDataRequest.php new file mode 100644 index 0000000..dbc8180 --- /dev/null +++ b/src/Models/Operations/GetMediaMetaDataRequest.php @@ -0,0 +1,160 @@ +ratingKey = $ratingKey; + $this->includeConcerts = $includeConcerts; + $this->includeExtras = $includeExtras; + $this->includeOnDeck = $includeOnDeck; + $this->includePopularLeaves = $includePopularLeaves; + $this->includePreferences = $includePreferences; + $this->includeReviews = $includeReviews; + $this->includeChapters = $includeChapters; + $this->includeStations = $includeStations; + $this->includeExternalMedia = $includeExternalMedia; + $this->asyncAugmentMetadata = $asyncAugmentMetadata; + $this->asyncCheckFiles = $asyncCheckFiles; + $this->asyncRefreshAnalysis = $asyncRefreshAnalysis; + $this->asyncRefreshLocalMediaAgent = $asyncRefreshLocalMediaAgent; + } +} \ No newline at end of file diff --git a/src/Models/Operations/GetMetaDataByRatingKeyResponse.php b/src/Models/Operations/GetMediaMetaDataResponse.php similarity index 77% rename from src/Models/Operations/GetMetaDataByRatingKeyResponse.php rename to src/Models/Operations/GetMediaMetaDataResponse.php index 08e7328..7838ed9 100644 --- a/src/Models/Operations/GetMetaDataByRatingKeyResponse.php +++ b/src/Models/Operations/GetMediaMetaDataResponse.php @@ -9,7 +9,7 @@ declare(strict_types=1); namespace LukeHagar\Plex_API\Models\Operations; -class GetMetaDataByRatingKeyResponse +class GetMediaMetaDataResponse { /** * HTTP response content type for this operation @@ -35,18 +35,18 @@ class GetMetaDataByRatingKeyResponse /** * The metadata of the library item. * - * @var ?GetMetaDataByRatingKeyResponseBody $object + * @var ?GetMediaMetaDataResponseBody $object */ - public ?GetMetaDataByRatingKeyResponseBody $object = null; + public ?GetMediaMetaDataResponseBody $object = null; /** * @param string $contentType * @param int $statusCode * @param \Psr\Http\Message\ResponseInterface $rawResponse - * @param ?GetMetaDataByRatingKeyResponseBody $object + * @param ?GetMediaMetaDataResponseBody $object * @phpstan-pure */ - public function __construct(string $contentType, int $statusCode, \Psr\Http\Message\ResponseInterface $rawResponse, ?GetMetaDataByRatingKeyResponseBody $object = null) + public function __construct(string $contentType, int $statusCode, \Psr\Http\Message\ResponseInterface $rawResponse, ?GetMediaMetaDataResponseBody $object = null) { $this->contentType = $contentType; $this->statusCode = $statusCode; diff --git a/src/Models/Operations/GetMediaMetaDataResponseBody.php b/src/Models/Operations/GetMediaMetaDataResponseBody.php new file mode 100644 index 0000000..6e76605 --- /dev/null +++ b/src/Models/Operations/GetMediaMetaDataResponseBody.php @@ -0,0 +1,32 @@ +mediaContainer = $mediaContainer; + } +} \ No newline at end of file diff --git a/src/Models/Operations/GetMetaDataByRatingKeyWriter.php b/src/Models/Operations/GetMediaMetaDataRole.php similarity index 52% rename from src/Models/Operations/GetMetaDataByRatingKeyWriter.php rename to src/Models/Operations/GetMediaMetaDataRole.php index 6f386ef..1070eaa 100644 --- a/src/Models/Operations/GetMetaDataByRatingKeyWriter.php +++ b/src/Models/Operations/GetMediaMetaDataRole.php @@ -9,41 +9,51 @@ declare(strict_types=1); namespace LukeHagar\Plex_API\Models\Operations; -class GetMetaDataByRatingKeyWriter +class GetMediaMetaDataRole { /** + * The unique role identifier. * - * @var ?int $id + * @var int $id */ #[\Speakeasy\Serializer\Annotation\SerializedName('id')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?int $id = null; + public int $id; /** + * The filter string for the role. * - * @var ?string $filter + * @var string $filter */ #[\Speakeasy\Serializer\Annotation\SerializedName('filter')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?string $filter = null; + public string $filter; /** + * The actor's name. * - * @var ?string $tag + * @var string $tag */ #[\Speakeasy\Serializer\Annotation\SerializedName('tag')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?string $tag = null; + public string $tag; /** + * A key associated with the actor tag. * - * @var ?string $tagKey + * @var string $tagKey */ #[\Speakeasy\Serializer\Annotation\SerializedName('tagKey')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?string $tagKey = null; + public string $tagKey; /** + * The character name or role. + * + * @var ?string $role + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('role')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $role = null; + + /** + * URL for the role thumbnail image. * * @var ?string $thumb */ @@ -52,19 +62,21 @@ class GetMetaDataByRatingKeyWriter public ?string $thumb = null; /** - * @param ?int $id - * @param ?string $filter - * @param ?string $tag - * @param ?string $tagKey + * @param int $id + * @param string $filter + * @param string $tag + * @param string $tagKey + * @param ?string $role * @param ?string $thumb * @phpstan-pure */ - public function __construct(?int $id = null, ?string $filter = null, ?string $tag = null, ?string $tagKey = null, ?string $thumb = null) + public function __construct(int $id, string $filter, string $tag, string $tagKey, ?string $role = null, ?string $thumb = null) { $this->id = $id; $this->filter = $filter; $this->tag = $tag; $this->tagKey = $tagKey; + $this->role = $role; $this->thumb = $thumb; } } \ No newline at end of file diff --git a/src/Models/Operations/GetMetaDataByRatingKeyStream.php b/src/Models/Operations/GetMediaMetaDataStream.php similarity index 51% rename from src/Models/Operations/GetMetaDataByRatingKeyStream.php rename to src/Models/Operations/GetMediaMetaDataStream.php index bdf4f57..d731b80 100644 --- a/src/Models/Operations/GetMetaDataByRatingKeyStream.php +++ b/src/Models/Operations/GetMediaMetaDataStream.php @@ -9,25 +9,90 @@ declare(strict_types=1); namespace LukeHagar\Plex_API\Models\Operations; -class GetMetaDataByRatingKeyStream +class GetMediaMetaDataStream { /** + * Unique stream identifier. * - * @var ?int $id + * @var int $id */ #[\Speakeasy\Serializer\Annotation\SerializedName('id')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?int $id = null; + public int $id; /** + * Stream type (1=video, 2=audio, 3=subtitle). * - * @var ?int $streamType + * @var int $streamType */ #[\Speakeasy\Serializer\Annotation\SerializedName('streamType')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?int $streamType = null; + public int $streamType; /** + * Codec used by the stream. + * + * @var string $codec + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('codec')] + public string $codec; + + /** + * Index of the stream. + * + * @var int $index + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('index')] + public int $index; + + /** + * Bitrate of the stream. + * + * @var int $bitrate + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('bitrate')] + public int $bitrate; + + /** + * Language of the stream. + * + * @var string $language + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('language')] + public string $language; + + /** + * Language tag (e.g., en). + * + * @var string $languageTag + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('languageTag')] + public string $languageTag; + + /** + * ISO language code. + * + * @var string $languageCode + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('languageCode')] + public string $languageCode; + + /** + * Display title for the stream. + * + * @var string $displayTitle + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('displayTitle')] + public string $displayTitle; + + /** + * Extended display title for the stream. + * + * @var string $extendedDisplayTitle + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('extendedDisplayTitle')] + public string $extendedDisplayTitle; + + /** + * Indicates if this stream is default. * * @var ?bool $default */ @@ -36,30 +101,79 @@ class GetMetaDataByRatingKeyStream public ?bool $default = null; /** + * Dolby Vision BL compatibility ID. * - * @var ?string $codec + * @var ?int $doviblCompatID */ - #[\Speakeasy\Serializer\Annotation\SerializedName('codec')] + #[\Speakeasy\Serializer\Annotation\SerializedName('DOVIBLCompatID')] #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?string $codec = null; + public ?int $doviblCompatID = null; /** + * Indicates if Dolby Vision BL is present. * - * @var ?int $index + * @var ?bool $doviblPresent */ - #[\Speakeasy\Serializer\Annotation\SerializedName('index')] + #[\Speakeasy\Serializer\Annotation\SerializedName('DOVIBLPresent')] #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?int $index = null; + public ?bool $doviblPresent = null; /** + * Indicates if Dolby Vision EL is present. * - * @var ?int $bitrate + * @var ?bool $dovielPresent */ - #[\Speakeasy\Serializer\Annotation\SerializedName('bitrate')] + #[\Speakeasy\Serializer\Annotation\SerializedName('DOVIELPresent')] #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?int $bitrate = null; + public ?bool $dovielPresent = null; /** + * Dolby Vision level. + * + * @var ?int $doviLevel + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('DOVILevel')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?int $doviLevel = null; + + /** + * Indicates if Dolby Vision is present. + * + * @var ?bool $doviPresent + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('DOVIPresent')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?bool $doviPresent = null; + + /** + * Dolby Vision profile. + * + * @var ?int $doviProfile + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('DOVIProfile')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?int $doviProfile = null; + + /** + * Indicates if Dolby Vision RPU is present. + * + * @var ?bool $dovirpuPresent + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('DOVIRPUPresent')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?bool $dovirpuPresent = null; + + /** + * Dolby Vision version. + * + * @var ?string $doviVersion + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('DOVIVersion')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $doviVersion = null; + + /** + * Bit depth of the video stream. * * @var ?int $bitDepth */ @@ -68,6 +182,7 @@ class GetMetaDataByRatingKeyStream public ?int $bitDepth = null; /** + * Chroma sample location. * * @var ?string $chromaLocation */ @@ -76,6 +191,7 @@ class GetMetaDataByRatingKeyStream public ?string $chromaLocation = null; /** + * Chroma subsampling format. * * @var ?string $chromaSubsampling */ @@ -84,6 +200,7 @@ class GetMetaDataByRatingKeyStream public ?string $chromaSubsampling = null; /** + * Coded video height. * * @var ?int $codedHeight */ @@ -92,6 +209,7 @@ class GetMetaDataByRatingKeyStream public ?int $codedHeight = null; /** + * Coded video width. * * @var ?int $codedWidth */ @@ -100,6 +218,7 @@ class GetMetaDataByRatingKeyStream public ?int $codedWidth = null; /** + * Color primaries used. * * @var ?string $colorPrimaries */ @@ -108,6 +227,7 @@ class GetMetaDataByRatingKeyStream public ?string $colorPrimaries = null; /** + * Color range (e.g., tv). * * @var ?string $colorRange */ @@ -116,6 +236,7 @@ class GetMetaDataByRatingKeyStream public ?string $colorRange = null; /** + * Color space. * * @var ?string $colorSpace */ @@ -124,6 +245,7 @@ class GetMetaDataByRatingKeyStream public ?string $colorSpace = null; /** + * Color transfer characteristics. * * @var ?string $colorTrc */ @@ -132,12 +254,40 @@ class GetMetaDataByRatingKeyStream public ?string $colorTrc = null; /** + * Frame rate of the stream. * - * @var ?int $frameRate + * @var ?float $frameRate */ #[\Speakeasy\Serializer\Annotation\SerializedName('frameRate')] #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?int $frameRate = null; + public ?float $frameRate = null; + + /** + * Height of the video stream. + * + * @var ?int $height + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('height')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?int $height = null; + + /** + * Video level. + * + * @var ?int $level + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('level')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?int $level = null; + + /** + * Indicates if this is the original stream. + * + * @var ?bool $original + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('original')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?bool $original = null; /** * @@ -148,22 +298,7 @@ class GetMetaDataByRatingKeyStream public ?bool $hasScalingMatrix = null; /** - * - * @var ?int $height - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('height')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?int $height = null; - - /** - * - * @var ?int $level - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('level')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?int $level = null; - - /** + * Video profile. * * @var ?string $profile */ @@ -171,14 +306,6 @@ class GetMetaDataByRatingKeyStream #[\Speakeasy\Serializer\Annotation\SkipWhenNull] public ?string $profile = null; - /** - * - * @var ?int $refFrames - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('refFrames')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?int $refFrames = null; - /** * * @var ?string $scanType @@ -188,14 +315,16 @@ class GetMetaDataByRatingKeyStream public ?string $scanType = null; /** + * Number of reference frames. * - * @var ?string $streamIdentifier + * @var ?int $refFrames */ - #[\Speakeasy\Serializer\Annotation\SerializedName('streamIdentifier')] + #[\Speakeasy\Serializer\Annotation\SerializedName('refFrames')] #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?string $streamIdentifier = null; + public ?int $refFrames = null; /** + * Width of the video stream. * * @var ?int $width */ @@ -204,22 +333,7 @@ class GetMetaDataByRatingKeyStream public ?int $width = null; /** - * - * @var ?string $displayTitle - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('displayTitle')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?string $displayTitle = null; - - /** - * - * @var ?string $extendedDisplayTitle - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('extendedDisplayTitle')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?string $extendedDisplayTitle = null; - - /** + * Indicates if this stream is selected (applicable for audio streams). * * @var ?bool $selected */ @@ -228,6 +342,15 @@ class GetMetaDataByRatingKeyStream public ?bool $selected = null; /** + * + * @var ?bool $forced + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('forced')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?bool $forced = null; + + /** + * Number of audio channels (for audio streams). * * @var ?int $channels */ @@ -236,30 +359,16 @@ class GetMetaDataByRatingKeyStream public ?int $channels = null; /** + * Audio channel layout. * - * @var ?string $language + * @var ?string $audioChannelLayout */ - #[\Speakeasy\Serializer\Annotation\SerializedName('language')] + #[\Speakeasy\Serializer\Annotation\SerializedName('audioChannelLayout')] #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?string $language = null; - - /** - * - * @var ?string $languageTag - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('languageTag')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?string $languageTag = null; - - /** - * - * @var ?string $languageCode - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('languageCode')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?string $languageCode = null; + public ?string $audioChannelLayout = null; /** + * Sampling rate for the audio stream. * * @var ?int $samplingRate */ @@ -268,12 +377,61 @@ class GetMetaDataByRatingKeyStream public ?int $samplingRate = null; /** - * @param ?int $id - * @param ?int $streamType + * Indicates if the stream can auto-sync. + * + * @var ?bool $canAutoSync + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('canAutoSync')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?bool $canAutoSync = null; + + /** + * Indicates if the stream is for the hearing impaired. + * + * @var ?bool $hearingImpaired + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('hearingImpaired')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?bool $hearingImpaired = null; + + /** + * Indicates if the stream is a dub. + * + * @var ?bool $dub + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('dub')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?bool $dub = null; + + /** + * Optional title for the stream (e.g., language variant). + * + * @var ?string $title + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('title')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $title = null; + + /** + * @param int $id + * @param int $streamType + * @param string $codec + * @param int $index + * @param int $bitrate + * @param string $language + * @param string $languageTag + * @param string $languageCode + * @param string $displayTitle + * @param string $extendedDisplayTitle * @param ?bool $default - * @param ?string $codec - * @param ?int $index - * @param ?int $bitrate + * @param ?int $doviblCompatID + * @param ?bool $doviblPresent + * @param ?bool $dovielPresent + * @param ?int $doviLevel + * @param ?bool $doviPresent + * @param ?int $doviProfile + * @param ?bool $dovirpuPresent + * @param ?string $doviVersion * @param ?int $bitDepth * @param ?string $chromaLocation * @param ?string $chromaSubsampling @@ -283,33 +441,47 @@ class GetMetaDataByRatingKeyStream * @param ?string $colorRange * @param ?string $colorSpace * @param ?string $colorTrc - * @param ?int $frameRate - * @param ?bool $hasScalingMatrix + * @param ?float $frameRate * @param ?int $height * @param ?int $level + * @param ?bool $original + * @param ?bool $hasScalingMatrix * @param ?string $profile - * @param ?int $refFrames * @param ?string $scanType - * @param ?string $streamIdentifier + * @param ?int $refFrames * @param ?int $width - * @param ?string $displayTitle - * @param ?string $extendedDisplayTitle * @param ?bool $selected + * @param ?bool $forced * @param ?int $channels - * @param ?string $language - * @param ?string $languageTag - * @param ?string $languageCode + * @param ?string $audioChannelLayout * @param ?int $samplingRate + * @param ?bool $canAutoSync + * @param ?bool $hearingImpaired + * @param ?bool $dub + * @param ?string $title * @phpstan-pure */ - public function __construct(?int $id = null, ?int $streamType = null, ?bool $default = null, ?string $codec = null, ?int $index = null, ?int $bitrate = null, ?int $bitDepth = null, ?string $chromaLocation = null, ?string $chromaSubsampling = null, ?int $codedHeight = null, ?int $codedWidth = null, ?string $colorPrimaries = null, ?string $colorRange = null, ?string $colorSpace = null, ?string $colorTrc = null, ?int $frameRate = null, ?bool $hasScalingMatrix = null, ?int $height = null, ?int $level = null, ?string $profile = null, ?int $refFrames = null, ?string $scanType = null, ?string $streamIdentifier = null, ?int $width = null, ?string $displayTitle = null, ?string $extendedDisplayTitle = null, ?bool $selected = null, ?int $channels = null, ?string $language = null, ?string $languageTag = null, ?string $languageCode = null, ?int $samplingRate = null) + public function __construct(int $id, int $streamType, string $codec, int $index, int $bitrate, string $language, string $languageTag, string $languageCode, string $displayTitle, string $extendedDisplayTitle, ?bool $default = null, ?int $doviblCompatID = null, ?bool $doviblPresent = null, ?bool $dovielPresent = null, ?int $doviLevel = null, ?bool $doviPresent = null, ?int $doviProfile = null, ?bool $dovirpuPresent = null, ?string $doviVersion = null, ?int $bitDepth = null, ?string $chromaLocation = null, ?string $chromaSubsampling = null, ?int $codedHeight = null, ?int $codedWidth = null, ?string $colorPrimaries = null, ?string $colorRange = null, ?string $colorSpace = null, ?string $colorTrc = null, ?float $frameRate = null, ?int $height = null, ?int $level = null, ?bool $original = null, ?bool $hasScalingMatrix = null, ?string $profile = null, ?string $scanType = null, ?int $refFrames = null, ?int $width = null, ?bool $selected = null, ?bool $forced = null, ?int $channels = null, ?string $audioChannelLayout = null, ?int $samplingRate = null, ?bool $canAutoSync = null, ?bool $hearingImpaired = null, ?bool $dub = null, ?string $title = null) { $this->id = $id; $this->streamType = $streamType; - $this->default = $default; $this->codec = $codec; $this->index = $index; $this->bitrate = $bitrate; + $this->language = $language; + $this->languageTag = $languageTag; + $this->languageCode = $languageCode; + $this->displayTitle = $displayTitle; + $this->extendedDisplayTitle = $extendedDisplayTitle; + $this->default = $default; + $this->doviblCompatID = $doviblCompatID; + $this->doviblPresent = $doviblPresent; + $this->dovielPresent = $dovielPresent; + $this->doviLevel = $doviLevel; + $this->doviPresent = $doviPresent; + $this->doviProfile = $doviProfile; + $this->dovirpuPresent = $dovirpuPresent; + $this->doviVersion = $doviVersion; $this->bitDepth = $bitDepth; $this->chromaLocation = $chromaLocation; $this->chromaSubsampling = $chromaSubsampling; @@ -320,21 +492,22 @@ class GetMetaDataByRatingKeyStream $this->colorSpace = $colorSpace; $this->colorTrc = $colorTrc; $this->frameRate = $frameRate; - $this->hasScalingMatrix = $hasScalingMatrix; $this->height = $height; $this->level = $level; + $this->original = $original; + $this->hasScalingMatrix = $hasScalingMatrix; $this->profile = $profile; - $this->refFrames = $refFrames; $this->scanType = $scanType; - $this->streamIdentifier = $streamIdentifier; + $this->refFrames = $refFrames; $this->width = $width; - $this->displayTitle = $displayTitle; - $this->extendedDisplayTitle = $extendedDisplayTitle; $this->selected = $selected; + $this->forced = $forced; $this->channels = $channels; - $this->language = $language; - $this->languageTag = $languageTag; - $this->languageCode = $languageCode; + $this->audioChannelLayout = $audioChannelLayout; $this->samplingRate = $samplingRate; + $this->canAutoSync = $canAutoSync; + $this->hearingImpaired = $hearingImpaired; + $this->dub = $dub; + $this->title = $title; } } \ No newline at end of file diff --git a/src/Models/Operations/GetMediaMetaDataUltraBlurColors.php b/src/Models/Operations/GetMediaMetaDataUltraBlurColors.php new file mode 100644 index 0000000..d689172 --- /dev/null +++ b/src/Models/Operations/GetMediaMetaDataUltraBlurColors.php @@ -0,0 +1,60 @@ +topLeft = $topLeft; + $this->topRight = $topRight; + $this->bottomRight = $bottomRight; + $this->bottomLeft = $bottomLeft; + } +} \ No newline at end of file diff --git a/src/Models/Operations/GetMetaDataByRatingKeyDirector.php b/src/Models/Operations/GetMediaMetaDataWriter.php similarity index 52% rename from src/Models/Operations/GetMetaDataByRatingKeyDirector.php rename to src/Models/Operations/GetMediaMetaDataWriter.php index 3cb3e2d..a0855de 100644 --- a/src/Models/Operations/GetMetaDataByRatingKeyDirector.php +++ b/src/Models/Operations/GetMediaMetaDataWriter.php @@ -9,41 +9,51 @@ declare(strict_types=1); namespace LukeHagar\Plex_API\Models\Operations; -class GetMetaDataByRatingKeyDirector +class GetMediaMetaDataWriter { /** + * The unique role identifier. * - * @var ?int $id + * @var int $id */ #[\Speakeasy\Serializer\Annotation\SerializedName('id')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?int $id = null; + public int $id; /** + * The filter string for the role. * - * @var ?string $filter + * @var string $filter */ #[\Speakeasy\Serializer\Annotation\SerializedName('filter')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?string $filter = null; + public string $filter; /** + * The actor's name. * - * @var ?string $tag + * @var string $tag */ #[\Speakeasy\Serializer\Annotation\SerializedName('tag')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?string $tag = null; + public string $tag; /** + * A key associated with the actor tag. * - * @var ?string $tagKey + * @var string $tagKey */ #[\Speakeasy\Serializer\Annotation\SerializedName('tagKey')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?string $tagKey = null; + public string $tagKey; /** + * The character name or role. + * + * @var ?string $role + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('role')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $role = null; + + /** + * URL for the role thumbnail image. * * @var ?string $thumb */ @@ -52,19 +62,21 @@ class GetMetaDataByRatingKeyDirector public ?string $thumb = null; /** - * @param ?int $id - * @param ?string $filter - * @param ?string $tag - * @param ?string $tagKey + * @param int $id + * @param string $filter + * @param string $tag + * @param string $tagKey + * @param ?string $role * @param ?string $thumb * @phpstan-pure */ - public function __construct(?int $id = null, ?string $filter = null, ?string $tag = null, ?string $tagKey = null, ?string $thumb = null) + public function __construct(int $id, string $filter, string $tag, string $tagKey, ?string $role = null, ?string $thumb = null) { $this->id = $id; $this->filter = $filter; $this->tag = $tag; $this->tagKey = $tagKey; + $this->role = $role; $this->thumb = $thumb; } } \ No newline at end of file diff --git a/src/Models/Operations/GetMetaDataByRatingKeyMedia.php b/src/Models/Operations/GetMetaDataByRatingKeyMedia.php deleted file mode 100644 index 5820b72..0000000 --- a/src/Models/Operations/GetMetaDataByRatingKeyMedia.php +++ /dev/null @@ -1,192 +0,0 @@ - $part - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('Part')] - #[\Speakeasy\Serializer\Annotation\Type('array<\LukeHagar\Plex_API\Models\Operations\GetMetaDataByRatingKeyPart>|null')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?array $part = null; - - /** - * @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 ?int $optimizedForStreaming - * @param ?string $audioProfile - * @param ?bool $has64bitOffsets - * @param ?string $videoProfile - * @param ?array $part - * @phpstan-pure - */ - 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, ?int $optimizedForStreaming = null, ?string $audioProfile = null, ?bool $has64bitOffsets = null, ?string $videoProfile = null, ?array $part = null) - { - $this->id = $id; - $this->duration = $duration; - $this->bitrate = $bitrate; - $this->width = $width; - $this->height = $height; - $this->aspectRatio = $aspectRatio; - $this->audioChannels = $audioChannels; - $this->audioCodec = $audioCodec; - $this->videoCodec = $videoCodec; - $this->videoResolution = $videoResolution; - $this->container = $container; - $this->videoFrameRate = $videoFrameRate; - $this->optimizedForStreaming = $optimizedForStreaming; - $this->audioProfile = $audioProfile; - $this->has64bitOffsets = $has64bitOffsets; - $this->videoProfile = $videoProfile; - $this->part = $part; - } -} \ No newline at end of file diff --git a/src/Models/Operations/GetMetaDataByRatingKeyMediaContainer.php b/src/Models/Operations/GetMetaDataByRatingKeyMediaContainer.php deleted file mode 100644 index d457efe..0000000 --- a/src/Models/Operations/GetMetaDataByRatingKeyMediaContainer.php +++ /dev/null @@ -1,112 +0,0 @@ - $metadata - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('Metadata')] - #[\Speakeasy\Serializer\Annotation\Type('array<\LukeHagar\Plex_API\Models\Operations\GetMetaDataByRatingKeyMetadata>|null')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?array $metadata = null; - - /** - * @param ?int $size - * @param ?bool $allowSync - * @param ?string $identifier - * @param ?int $librarySectionID - * @param ?string $librarySectionTitle - * @param ?string $librarySectionUUID - * @param ?string $mediaTagPrefix - * @param ?int $mediaTagVersion - * @param ?array $metadata - * @phpstan-pure - */ - public function __construct(?int $size = null, ?bool $allowSync = null, ?string $identifier = null, ?int $librarySectionID = null, ?string $librarySectionTitle = null, ?string $librarySectionUUID = null, ?string $mediaTagPrefix = null, ?int $mediaTagVersion = null, ?array $metadata = null) - { - $this->size = $size; - $this->allowSync = $allowSync; - $this->identifier = $identifier; - $this->librarySectionID = $librarySectionID; - $this->librarySectionTitle = $librarySectionTitle; - $this->librarySectionUUID = $librarySectionUUID; - $this->mediaTagPrefix = $mediaTagPrefix; - $this->mediaTagVersion = $mediaTagVersion; - $this->metadata = $metadata; - } -} \ No newline at end of file diff --git a/src/Models/Operations/GetMetaDataByRatingKeyMetadata.php b/src/Models/Operations/GetMetaDataByRatingKeyMetadata.php deleted file mode 100644 index 9d41a58..0000000 --- a/src/Models/Operations/GetMetaDataByRatingKeyMetadata.php +++ /dev/null @@ -1,423 +0,0 @@ - $media - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('Media')] - #[\Speakeasy\Serializer\Annotation\Type('array<\LukeHagar\Plex_API\Models\Operations\GetMetaDataByRatingKeyMedia>|null')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?array $media = null; - - /** - * $genre - * - * @var ?array $genre - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('Genre')] - #[\Speakeasy\Serializer\Annotation\Type('array<\LukeHagar\Plex_API\Models\Operations\GetMetaDataByRatingKeyGenre>|null')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?array $genre = null; - - /** - * $country - * - * @var ?array $country - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('Country')] - #[\Speakeasy\Serializer\Annotation\Type('array<\LukeHagar\Plex_API\Models\Operations\GetMetaDataByRatingKeyCountry>|null')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?array $country = null; - - /** - * $guids - * - * @var ?array $guids - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('Guid')] - #[\Speakeasy\Serializer\Annotation\Type('array<\LukeHagar\Plex_API\Models\Operations\Guids>|null')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?array $guids = null; - - /** - * $ratings - * - * @var ?array $ratings - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('Rating')] - #[\Speakeasy\Serializer\Annotation\Type('array<\LukeHagar\Plex_API\Models\Operations\Ratings>|null')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?array $ratings = null; - - /** - * $director - * - * @var ?array $director - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('Director')] - #[\Speakeasy\Serializer\Annotation\Type('array<\LukeHagar\Plex_API\Models\Operations\GetMetaDataByRatingKeyDirector>|null')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?array $director = null; - - /** - * $writer - * - * @var ?array $writer - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('Writer')] - #[\Speakeasy\Serializer\Annotation\Type('array<\LukeHagar\Plex_API\Models\Operations\GetMetaDataByRatingKeyWriter>|null')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?array $writer = null; - - /** - * $role - * - * @var ?array $role - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('Role')] - #[\Speakeasy\Serializer\Annotation\Type('array<\LukeHagar\Plex_API\Models\Operations\GetMetaDataByRatingKeyRole>|null')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?array $role = null; - - /** - * $producer - * - * @var ?array $producer - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('Producer')] - #[\Speakeasy\Serializer\Annotation\Type('array<\LukeHagar\Plex_API\Models\Operations\Producer>|null')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?array $producer = null; - - /** - * @param ?string $ratingKey - * @param ?string $key - * @param ?string $guid - * @param ?string $studio - * @param ?string $type - * @param ?string $title - * @param ?string $librarySectionTitle - * @param ?int $librarySectionID - * @param ?string $librarySectionKey - * @param ?string $grandparentTitle - * @param ?string $parentTitle - * @param ?string $originalTitle - * @param ?int $index - * @param ?int $parentIndex - * @param ?string $contentRating - * @param ?string $summary - * @param ?float $rating - * @param ?float $audienceRating - * @param ?int $year - * @param ?string $tagline - * @param ?string $thumb - * @param ?string $art - * @param ?int $duration - * @param ?LocalDate $originallyAvailableAt - * @param ?int $addedAt - * @param ?int $updatedAt - * @param ?string $audienceRatingImage - * @param ?string $hasPremiumPrimaryExtra - * @param ?string $ratingImage - * @param ?array $media - * @param ?array $genre - * @param ?array $country - * @param ?array $guids - * @param ?array $ratings - * @param ?array $director - * @param ?array $writer - * @param ?array $role - * @param ?array $producer - * @phpstan-pure - */ - public function __construct(?string $ratingKey = null, ?string $key = null, ?string $guid = null, ?string $studio = null, ?string $type = null, ?string $title = null, ?string $librarySectionTitle = null, ?int $librarySectionID = null, ?string $librarySectionKey = null, ?string $grandparentTitle = null, ?string $parentTitle = null, ?string $originalTitle = null, ?int $index = null, ?int $parentIndex = null, ?string $contentRating = null, ?string $summary = null, ?float $rating = null, ?float $audienceRating = null, ?int $year = null, ?string $tagline = null, ?string $thumb = null, ?string $art = null, ?int $duration = null, ?LocalDate $originallyAvailableAt = null, ?int $addedAt = null, ?int $updatedAt = null, ?string $audienceRatingImage = null, ?string $hasPremiumPrimaryExtra = null, ?string $ratingImage = null, ?array $media = null, ?array $genre = null, ?array $country = null, ?array $guids = null, ?array $ratings = null, ?array $director = null, ?array $writer = null, ?array $role = null, ?array $producer = null) - { - $this->ratingKey = $ratingKey; - $this->key = $key; - $this->guid = $guid; - $this->studio = $studio; - $this->type = $type; - $this->title = $title; - $this->librarySectionTitle = $librarySectionTitle; - $this->librarySectionID = $librarySectionID; - $this->librarySectionKey = $librarySectionKey; - $this->grandparentTitle = $grandparentTitle; - $this->parentTitle = $parentTitle; - $this->originalTitle = $originalTitle; - $this->index = $index; - $this->parentIndex = $parentIndex; - $this->contentRating = $contentRating; - $this->summary = $summary; - $this->rating = $rating; - $this->audienceRating = $audienceRating; - $this->year = $year; - $this->tagline = $tagline; - $this->thumb = $thumb; - $this->art = $art; - $this->duration = $duration; - $this->originallyAvailableAt = $originallyAvailableAt; - $this->addedAt = $addedAt; - $this->updatedAt = $updatedAt; - $this->audienceRatingImage = $audienceRatingImage; - $this->hasPremiumPrimaryExtra = $hasPremiumPrimaryExtra; - $this->ratingImage = $ratingImage; - $this->media = $media; - $this->genre = $genre; - $this->country = $country; - $this->guids = $guids; - $this->ratings = $ratings; - $this->director = $director; - $this->writer = $writer; - $this->role = $role; - $this->producer = $producer; - } -} \ No newline at end of file diff --git a/src/Models/Operations/GetMetaDataByRatingKeyPart.php b/src/Models/Operations/GetMetaDataByRatingKeyPart.php deleted file mode 100644 index f52f82c..0000000 --- a/src/Models/Operations/GetMetaDataByRatingKeyPart.php +++ /dev/null @@ -1,132 +0,0 @@ - $stream - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('Stream')] - #[\Speakeasy\Serializer\Annotation\Type('array<\LukeHagar\Plex_API\Models\Operations\GetMetaDataByRatingKeyStream>|null')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?array $stream = null; - - /** - * @param ?int $id - * @param ?string $key - * @param ?int $duration - * @param ?string $file - * @param ?int $size - * @param ?string $audioProfile - * @param ?string $container - * @param ?bool $has64bitOffsets - * @param ?bool $optimizedForStreaming - * @param ?string $videoProfile - * @param ?array $stream - * @phpstan-pure - */ - public function __construct(?int $id = null, ?string $key = null, ?int $duration = null, ?string $file = null, ?int $size = null, ?string $audioProfile = null, ?string $container = null, ?bool $has64bitOffsets = null, ?bool $optimizedForStreaming = null, ?string $videoProfile = null, ?array $stream = null) - { - $this->id = $id; - $this->key = $key; - $this->duration = $duration; - $this->file = $file; - $this->size = $size; - $this->audioProfile = $audioProfile; - $this->container = $container; - $this->has64bitOffsets = $has64bitOffsets; - $this->optimizedForStreaming = $optimizedForStreaming; - $this->videoProfile = $videoProfile; - $this->stream = $stream; - } -} \ No newline at end of file diff --git a/src/Models/Operations/GetMetaDataByRatingKeyRequest.php b/src/Models/Operations/GetMetaDataByRatingKeyRequest.php deleted file mode 100644 index 3476141..0000000 --- a/src/Models/Operations/GetMetaDataByRatingKeyRequest.php +++ /dev/null @@ -1,30 +0,0 @@ -ratingKey = $ratingKey; - } -} \ No newline at end of file diff --git a/src/Models/Operations/GetMetaDataByRatingKeyResponseBody.php b/src/Models/Operations/GetMetaDataByRatingKeyResponseBody.php deleted file mode 100644 index 7b7db68..0000000 --- a/src/Models/Operations/GetMetaDataByRatingKeyResponseBody.php +++ /dev/null @@ -1,32 +0,0 @@ -mediaContainer = $mediaContainer; - } -} \ No newline at end of file diff --git a/src/Models/Operations/GetPlaylistContentsQueryParamType.php b/src/Models/Operations/GetPlaylistContentsQueryParamType.php index 9ef11e8..1398db6 100644 --- a/src/Models/Operations/GetPlaylistContentsQueryParamType.php +++ b/src/Models/Operations/GetPlaylistContentsQueryParamType.php @@ -10,7 +10,7 @@ namespace LukeHagar\Plex_API\Models\Operations; /** - * The type of media to retrieve. + * The type of media to retrieve or filter by. * * 1 = movie * 2 = show diff --git a/src/Models/Operations/GetPlaylistContentsRequest.php b/src/Models/Operations/GetPlaylistContentsRequest.php index 26ebc39..7cc2f02 100644 --- a/src/Models/Operations/GetPlaylistContentsRequest.php +++ b/src/Models/Operations/GetPlaylistContentsRequest.php @@ -20,7 +20,7 @@ class GetPlaylistContentsRequest public float $playlistID; /** - * The type of media to retrieve. + * The type of media to retrieve or filter by. * * 1 = movie * 2 = show diff --git a/src/Models/Operations/GetRecentlyAddedLibraryRequest.php b/src/Models/Operations/GetRecentlyAddedLibraryRequest.php index 00d9478..085cec4 100644 --- a/src/Models/Operations/GetRecentlyAddedLibraryRequest.php +++ b/src/Models/Operations/GetRecentlyAddedLibraryRequest.php @@ -12,7 +12,7 @@ use LukeHagar\Plex_API\Utils\SpeakeasyMetadata; class GetRecentlyAddedLibraryRequest { /** - * The type of media to retrieve. + * The type of media to retrieve or filter by. * * 1 = movie * 2 = show diff --git a/src/Models/Operations/GetRecentlyAddedRequest.php b/src/Models/Operations/GetRecentlyAddedRequest.php index ba9d521..99489e3 100644 --- a/src/Models/Operations/GetRecentlyAddedRequest.php +++ b/src/Models/Operations/GetRecentlyAddedRequest.php @@ -20,7 +20,7 @@ class GetRecentlyAddedRequest public int $contentDirectoryID; /** - * The type of media to retrieve. + * The type of media to retrieve or filter by. * * 1 = movie * 2 = show diff --git a/src/Models/Operations/GetSearchLibraryQueryParamType.php b/src/Models/Operations/GetSearchLibraryQueryParamType.php index 76c3401..fd30396 100644 --- a/src/Models/Operations/GetSearchLibraryQueryParamType.php +++ b/src/Models/Operations/GetSearchLibraryQueryParamType.php @@ -10,7 +10,7 @@ namespace LukeHagar\Plex_API\Models\Operations; /** - * The type of media to retrieve. + * The type of media to retrieve or filter by. * * 1 = movie * 2 = show diff --git a/src/Models/Operations/GetSearchLibraryRequest.php b/src/Models/Operations/GetSearchLibraryRequest.php index 5a60fb0..4dc0d78 100644 --- a/src/Models/Operations/GetSearchLibraryRequest.php +++ b/src/Models/Operations/GetSearchLibraryRequest.php @@ -23,7 +23,7 @@ class GetSearchLibraryRequest public int $sectionKey; /** - * The type of media to retrieve. + * The type of media to retrieve or filter by. * * 1 = movie * 2 = show diff --git a/src/Models/Operations/GetTopWatchedContentQueryParamType.php b/src/Models/Operations/GetTopWatchedContentQueryParamType.php index 4ab19e1..e7aa07b 100644 --- a/src/Models/Operations/GetTopWatchedContentQueryParamType.php +++ b/src/Models/Operations/GetTopWatchedContentQueryParamType.php @@ -10,7 +10,7 @@ namespace LukeHagar\Plex_API\Models\Operations; /** - * The type of media to retrieve. + * The type of media to retrieve or filter by. * * 1 = movie * 2 = show diff --git a/src/Models/Operations/GetTopWatchedContentRequest.php b/src/Models/Operations/GetTopWatchedContentRequest.php index 6d14547..7bd27bb 100644 --- a/src/Models/Operations/GetTopWatchedContentRequest.php +++ b/src/Models/Operations/GetTopWatchedContentRequest.php @@ -12,7 +12,7 @@ use LukeHagar\Plex_API\Utils\SpeakeasyMetadata; class GetTopWatchedContentRequest { /** - * The type of media to retrieve. + * The type of media to retrieve or filter by. * * 1 = movie * 2 = show diff --git a/src/Models/Operations/Guids.php b/src/Models/Operations/Guids.php index c23ccc1..9a719b0 100644 --- a/src/Models/Operations/Guids.php +++ b/src/Models/Operations/Guids.php @@ -12,18 +12,18 @@ namespace LukeHagar\Plex_API\Models\Operations; class Guids { /** + * The GUID value. * - * @var ?string $id + * @var string $id */ #[\Speakeasy\Serializer\Annotation\SerializedName('id')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?string $id = null; + public string $id; /** - * @param ?string $id + * @param string $id * @phpstan-pure */ - public function __construct(?string $id = null) + public function __construct(string $id) { $this->id = $id; } diff --git a/src/Models/Operations/Producer.php b/src/Models/Operations/Producer.php index 4ddca84..fdc8e47 100644 --- a/src/Models/Operations/Producer.php +++ b/src/Models/Operations/Producer.php @@ -12,38 +12,48 @@ namespace LukeHagar\Plex_API\Models\Operations; class Producer { /** + * The unique role identifier. * - * @var ?int $id + * @var int $id */ #[\Speakeasy\Serializer\Annotation\SerializedName('id')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?int $id = null; + public int $id; /** + * The filter string for the role. * - * @var ?string $filter + * @var string $filter */ #[\Speakeasy\Serializer\Annotation\SerializedName('filter')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?string $filter = null; + public string $filter; /** + * The actor's name. * - * @var ?string $tag + * @var string $tag */ #[\Speakeasy\Serializer\Annotation\SerializedName('tag')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?string $tag = null; + public string $tag; /** + * A key associated with the actor tag. * - * @var ?string $tagKey + * @var string $tagKey */ #[\Speakeasy\Serializer\Annotation\SerializedName('tagKey')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?string $tagKey = null; + public string $tagKey; /** + * The character name or role. + * + * @var ?string $role + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('role')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $role = null; + + /** + * URL for the role thumbnail image. * * @var ?string $thumb */ @@ -52,19 +62,21 @@ class Producer public ?string $thumb = null; /** - * @param ?int $id - * @param ?string $filter - * @param ?string $tag - * @param ?string $tagKey + * @param int $id + * @param string $filter + * @param string $tag + * @param string $tagKey + * @param ?string $role * @param ?string $thumb * @phpstan-pure */ - public function __construct(?int $id = null, ?string $filter = null, ?string $tag = null, ?string $tagKey = null, ?string $thumb = null) + public function __construct(int $id, string $filter, string $tag, string $tagKey, ?string $role = null, ?string $thumb = null) { $this->id = $id; $this->filter = $filter; $this->tag = $tag; $this->tagKey = $tagKey; + $this->role = $role; $this->thumb = $thumb; } } \ No newline at end of file diff --git a/src/Models/Operations/QueryParamType.php b/src/Models/Operations/QueryParamType.php index 3f8416d..fdf1019 100644 --- a/src/Models/Operations/QueryParamType.php +++ b/src/Models/Operations/QueryParamType.php @@ -10,7 +10,7 @@ namespace LukeHagar\Plex_API\Models\Operations; /** - * The type of media to retrieve. + * The type of media to retrieve or filter by. * * 1 = movie * 2 = show diff --git a/src/Models/Operations/Ratings.php b/src/Models/Operations/Rating.php similarity index 51% rename from src/Models/Operations/Ratings.php rename to src/Models/Operations/Rating.php index 2b24cc1..08026f6 100644 --- a/src/Models/Operations/Ratings.php +++ b/src/Models/Operations/Rating.php @@ -9,39 +9,39 @@ declare(strict_types=1); namespace LukeHagar\Plex_API\Models\Operations; -class Ratings +class Rating { /** + * The image or reference for the rating. * - * @var ?string $image + * @var string $image */ #[\Speakeasy\Serializer\Annotation\SerializedName('image')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?string $image = null; + public string $image; /** + * The rating value. * - * @var ?float $value + * @var float $value */ #[\Speakeasy\Serializer\Annotation\SerializedName('value')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?float $value = null; + public float $value; /** + * The type of rating (e.g., audience, critic). * - * @var ?string $type + * @var string $type */ #[\Speakeasy\Serializer\Annotation\SerializedName('type')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?string $type = null; + public string $type; /** - * @param ?string $image - * @param ?float $value - * @param ?string $type + * @param string $image + * @param float $value + * @param string $type * @phpstan-pure */ - public function __construct(?string $image = null, ?float $value = null, ?string $type = null) + public function __construct(string $image, float $value, string $type) { $this->image = $image; $this->value = $value; diff --git a/src/Models/Operations/Similar.php b/src/Models/Operations/Similar.php new file mode 100644 index 0000000..fee8528 --- /dev/null +++ b/src/Models/Operations/Similar.php @@ -0,0 +1,50 @@ +id = $id; + $this->filter = $filter; + $this->tag = $tag; + } +} \ No newline at end of file diff --git a/src/Models/Operations/Type.php b/src/Models/Operations/Type.php index 9158382..81927b1 100644 --- a/src/Models/Operations/Type.php +++ b/src/Models/Operations/Type.php @@ -10,7 +10,7 @@ namespace LukeHagar\Plex_API\Models\Operations; /** - * The type of media to retrieve. + * The type of media to retrieve or filter by. * * 1 = movie * 2 = show diff --git a/src/SDKConfiguration.php b/src/SDKConfiguration.php index 29bde3d..d9086d6 100644 --- a/src/SDKConfiguration.php +++ b/src/SDKConfiguration.php @@ -33,11 +33,11 @@ class SDKConfiguration public string $openapiDocVersion = '0.0.3'; - public string $sdkVersion = '0.12.7'; + public string $sdkVersion = '0.12.8'; public string $genVersion = '2.506.0'; - public string $userAgent = 'speakeasy-sdk/php 0.12.7 2.506.0 0.0.3 lukehagar/plex-api'; + public string $userAgent = 'speakeasy-sdk/php 0.12.8 2.506.0 0.0.3 lukehagar/plex-api'; public ?RetryConfig $retryConfig = null;