From 3e9ae764337db1a706cd93a415485d2913191205 Mon Sep 17 00:00:00 2001 From: speakeasybot Date: Wed, 25 Sep 2024 15:33:47 +0000 Subject: [PATCH] ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.402.14 --- .speakeasy/gen.lock | 172 +++++++++-- .speakeasy/gen.yaml | 2 +- .speakeasy/workflow.lock | 12 +- LukeHagar/PlexAPI/SDK/Activities.cs | 6 +- LukeHagar/PlexAPI/SDK/Authentication.cs | 6 +- LukeHagar/PlexAPI/SDK/Butler.cs | 6 +- LukeHagar/PlexAPI/SDK/Hubs.cs | 90 +++++- LukeHagar/PlexAPI/SDK/Library.cs | 29 +- LukeHagar/PlexAPI/SDK/Log.cs | 6 +- .../PlexAPI/SDK/LukeHagar.PlexAPI.SDK.csproj | 2 +- LukeHagar/PlexAPI/SDK/Media.cs | 6 +- ...s => GetRecentlyAddedLibraryBadRequest.cs} | 4 +- ...> GetRecentlyAddedLibraryLibraryErrors.cs} | 2 +- ...=> GetRecentlyAddedLibraryUnauthorized.cs} | 4 +- .../PlexAPI/SDK/Models/Requests/Field.cs | 6 +- .../PlexAPI/SDK/Models/Requests/FieldType.cs | 4 +- .../Requests/GetAllLibrariesDirectory.cs | 5 +- .../Models/Requests/GetLibraryDetailsField.cs | 30 ++ .../Requests/GetLibraryDetailsFieldType.cs | 26 ++ .../GetLibraryDetailsMediaContainer.cs | 2 +- .../Requests/GetLibraryDetailsOperator.cs | 24 ++ .../Models/Requests/GetLibraryDetailsSort.cs | 36 +++ .../Models/Requests/GetLibraryDetailsType.cs | 4 +- .../GetLibraryItemsActiveDirection.cs | 64 +++++ .../Requests/GetLibraryItemsCollection.cs | 21 ++ .../GetLibraryItemsDefaultDirection.cs | 64 +++++ .../Requests/GetLibraryItemsFlattenSeasons.cs | 57 ++++ .../Requests/GetLibraryItemsHasThumbnail.cs | 57 ++++ .../Models/Requests/GetLibraryItemsImage.cs | 2 +- .../GetLibraryItemsLibraryActiveDirection.cs | 64 +++++ .../GetLibraryItemsLibraryDefaultDirection.cs | 64 +++++ .../Requests/GetLibraryItemsLibraryField.cs | 30 ++ .../GetLibraryItemsLibraryFieldType.cs | 26 ++ .../Requests/GetLibraryItemsLibraryFilter.cs | 33 +++ .../GetLibraryItemsLibraryOperator.cs | 24 ++ .../GetLibraryItemsLibraryResponse200Type.cs | 61 ++++ .../GetLibraryItemsLibraryResponseType.cs | 68 ++--- .../Requests/GetLibraryItemsLibrarySort.cs | 57 ++++ .../Requests/GetLibraryItemsLibraryType.cs | 75 +++-- .../Models/Requests/GetLibraryItemsMedia.cs | 6 + .../Requests/GetLibraryItemsMediaContainer.cs | 18 +- .../Requests/GetLibraryItemsMediaGuid.cs | 29 ++ .../Models/Requests/GetLibraryItemsMeta.cs | 33 +++ .../Requests/GetLibraryItemsMetaDataRating.cs | 36 +++ .../Requests/GetLibraryItemsMetadata.cs | 27 +- .../GetLibraryItemsOptimizedForStreaming.cs | 20 ++ .../Models/Requests/GetLibraryItemsPart.cs | 12 +- .../GetLibraryItemsQueryParamIncludeMeta.cs | 27 ++ .../Requests/GetLibraryItemsQueryParamType.cs | 34 +++ .../Models/Requests/GetLibraryItemsRequest.cs | 22 +- .../Models/Requests/GetLibraryItemsRole.cs | 33 +++ .../Requests/GetLibraryItemsShowOrdering.cs | 75 +++++ .../Models/Requests/GetLibraryItemsSort.cs | 4 +- .../Models/Requests/GetLibraryItemsStream.cs | 234 +++++++++++++++ .../Models/Requests/GetLibraryItemsType.cs | 75 ++--- .../GetLibraryItemsUltraBlurColors.cs | 30 ++ .../Requests/GetMetaDataByRatingKeyPart.cs | 2 +- .../Requests/GetMetaDataByRatingKeyStream.cs | 114 ++++++++ .../GetRecentlyAddedActiveDirection.cs | 64 +++++ .../GetRecentlyAddedDefaultDirection.cs | 64 +++++ .../Models/Requests/GetRecentlyAddedField.cs | 30 ++ .../Requests/GetRecentlyAddedFieldType.cs | 26 ++ .../Models/Requests/GetRecentlyAddedFilter.cs | 33 +++ .../GetRecentlyAddedHubsResponseType.cs | 61 ++++ .../Requests/GetRecentlyAddedHubsType.cs | 68 +++++ .../Models/Requests/GetRecentlyAddedImage.cs | 28 ++ .../GetRecentlyAddedLibraryCountry.cs | 21 ++ .../GetRecentlyAddedLibraryDirector.cs | 21 ++ .../Requests/GetRecentlyAddedLibraryFilter.cs | 33 +++ .../Requests/GetRecentlyAddedLibraryGenre.cs | 21 ++ .../Requests/GetRecentlyAddedLibraryMedia.cs | 68 +++++ .../GetRecentlyAddedLibraryMediaContainer.cs | 54 ++++ .../GetRecentlyAddedLibraryMetadata.cs | 117 ++++++++ .../Requests/GetRecentlyAddedLibraryPart.cs | 48 ++++ .../GetRecentlyAddedLibraryRequest.cs | 80 ++++++ .../GetRecentlyAddedLibraryResponse.cs | 40 +++ .../GetRecentlyAddedLibraryResponseBody.cs | 25 ++ .../Requests/GetRecentlyAddedLibraryRole.cs | 21 ++ .../Requests/GetRecentlyAddedLibraryType.cs | 41 +++ .../Requests/GetRecentlyAddedLibraryWriter.cs | 21 ++ .../GetRecentlyAddedMediaContainer.cs | 27 +- .../Requests/GetRecentlyAddedMetadata.cs | 229 +++++++++++++-- .../Requests/GetRecentlyAddedOperator.cs | 24 ++ .../Requests/GetRecentlyAddedRequest.cs | 44 +++ .../Requests/GetRecentlyAddedResponse.cs | 2 +- .../Requests/GetRecentlyAddedResponseBody.cs | 2 +- .../Models/Requests/GetRecentlyAddedSort.cs | 57 ++++ .../Models/Requests/GetRecentlyAddedType.cs | 41 +++ .../GetSearchLibraryQueryParamType.cs | 34 +++ .../Requests/GetSearchLibraryRequest.cs | 2 +- .../SDK/Models/Requests/LibrarySectionID.cs | 182 ------------ .../PlexAPI/SDK/Models/Requests/Media.cs | 40 +-- LukeHagar/PlexAPI/SDK/Models/Requests/Meta.cs | 4 +- .../SDK/Models/Requests/MetaDataRating.cs | 36 +++ .../PlexAPI/SDK/Models/Requests/Operator.cs | 4 +- .../Models/Requests/OptimizedForStreaming.cs | 20 ++ LukeHagar/PlexAPI/SDK/Models/Requests/Part.cs | 38 ++- .../Models/Requests/QueryParamIncludeMeta.cs | 27 ++ LukeHagar/PlexAPI/SDK/Models/Requests/Role.cs | 33 +++ LukeHagar/PlexAPI/SDK/Models/Requests/Sort.cs | 27 +- .../PlexAPI/SDK/Models/Requests/Stream.cs | 268 +++++++++++++----- LukeHagar/PlexAPI/SDK/Playlists.cs | 6 +- LukeHagar/PlexAPI/SDK/Plex.cs | 6 +- LukeHagar/PlexAPI/SDK/PlexAPI.cs | 6 +- LukeHagar/PlexAPI/SDK/Search.cs | 6 +- LukeHagar/PlexAPI/SDK/Server.cs | 6 +- LukeHagar/PlexAPI/SDK/Sessions.cs | 6 +- LukeHagar/PlexAPI/SDK/Statistics.cs | 6 +- LukeHagar/PlexAPI/SDK/Updater.cs | 6 +- .../PlexAPI/SDK/Utils/SecurityMetadata.cs | 4 +- LukeHagar/PlexAPI/SDK/Video.cs | 6 +- LukeHagar/PlexAPI/SDK/Watchlist.cs | 6 +- README.md | 3 +- RELEASES.md | 12 +- codeSamples.yaml | 76 ++++- docs/Models/Errors/GetRecentlyAddedErrors.md | 10 - ...d => GetRecentlyAddedLibraryBadRequest.md} | 4 +- .../Errors/GetRecentlyAddedLibraryErrors.md | 10 +- .../GetRecentlyAddedLibraryLibraryErrors.md | 10 + ...=> GetRecentlyAddedLibraryUnauthorized.md} | 6 +- docs/Models/Requests/Director.md | 2 +- docs/Models/Requests/Field.md | 8 +- docs/Models/Requests/FieldType.md | 4 +- docs/Models/Requests/Genre.md | 2 +- .../Requests/GetAllLibrariesDirectory.md | 2 +- .../Models/Requests/GetLibraryDetailsField.md | 11 + .../Requests/GetLibraryDetailsFieldType.md | 9 + .../GetLibraryDetailsMediaContainer.md | 2 +- .../Requests/GetLibraryDetailsOperator.md | 9 + docs/Models/Requests/GetLibraryDetailsSort.md | 13 + docs/Models/Requests/GetLibraryDetailsType.md | 4 +- .../GetLibraryItemsActiveDirection.md | 12 + .../Requests/GetLibraryItemsCollection.md | 8 + .../GetLibraryItemsDefaultDirection.md | 12 + .../Requests/GetLibraryItemsFlattenSeasons.md | 9 + .../Requests/GetLibraryItemsHasThumbnail.md | 9 + docs/Models/Requests/GetLibraryItemsImage.md | 10 +- .../GetLibraryItemsLibraryActiveDirection.md | 12 + .../GetLibraryItemsLibraryDefaultDirection.md | 12 + .../Requests/GetLibraryItemsLibraryField.md | 11 + .../GetLibraryItemsLibraryFieldType.md | 9 + .../Requests/GetLibraryItemsLibraryFilter.md | 12 + .../GetLibraryItemsLibraryOperator.md | 9 + .../GetLibraryItemsLibraryResponse200Type.md | 11 + .../GetLibraryItemsLibraryResponseType.md | 17 +- .../Requests/GetLibraryItemsLibrarySort.md | 15 + .../Requests/GetLibraryItemsLibraryType.md | 20 +- docs/Models/Requests/GetLibraryItemsMedia.md | 38 +-- .../Requests/GetLibraryItemsMediaContainer.md | 9 +- .../Requests/GetLibraryItemsMediaGuid.md | 8 + docs/Models/Requests/GetLibraryItemsMeta.md | 12 + .../Requests/GetLibraryItemsMetaDataRating.md | 10 + .../Requests/GetLibraryItemsMetadata.md | 17 +- .../GetLibraryItemsOptimizedForStreaming.md | 9 + docs/Models/Requests/GetLibraryItemsPart.md | 5 +- .../GetLibraryItemsQueryParamIncludeMeta.md | 12 + .../Requests/GetLibraryItemsQueryParamType.md | 19 ++ .../Models/Requests/GetLibraryItemsRequest.md | 4 +- docs/Models/Requests/GetLibraryItemsRole.md | 11 +- .../Requests/GetLibraryItemsShowOrdering.md | 20 ++ docs/Models/Requests/GetLibraryItemsSort.md | 20 +- docs/Models/Requests/GetLibraryItemsStream.md | 45 +++ docs/Models/Requests/GetLibraryItemsType.md | 20 +- .../GetLibraryItemsUltraBlurColors.md | 11 + .../Requests/GetMetaDataByRatingKeyPart.md | 26 +- .../Requests/GetMetaDataByRatingKeyStream.md | 39 +++ .../GetRecentlyAddedActiveDirection.md | 12 + .../GetRecentlyAddedDefaultDirection.md | 12 + docs/Models/Requests/GetRecentlyAddedField.md | 11 + .../Requests/GetRecentlyAddedFieldType.md | 9 + .../Models/Requests/GetRecentlyAddedFilter.md | 12 + .../GetRecentlyAddedHubsResponseType.md | 11 + .../Requests/GetRecentlyAddedHubsType.md | 14 + docs/Models/Requests/GetRecentlyAddedImage.md | 10 + .../GetRecentlyAddedLibraryCountry.md | 8 + .../GetRecentlyAddedLibraryDirector.md | 8 + .../Requests/GetRecentlyAddedLibraryFilter.md | 12 + .../Requests/GetRecentlyAddedLibraryGenre.md | 8 + .../Requests/GetRecentlyAddedLibraryMedia.md | 23 ++ .../GetRecentlyAddedLibraryMediaContainer.md | 19 ++ .../GetRecentlyAddedLibraryMetadata.md | 39 +++ .../Requests/GetRecentlyAddedLibraryPart.md | 17 ++ .../GetRecentlyAddedLibraryRequest.md | 14 + .../GetRecentlyAddedLibraryResponse.md | 11 + .../GetRecentlyAddedLibraryResponseBody.md | 10 + .../Requests/GetRecentlyAddedLibraryRole.md | 8 + .../Requests/GetRecentlyAddedLibraryType.md | 14 + .../Requests/GetRecentlyAddedLibraryWriter.md | 8 + .../GetRecentlyAddedMediaContainer.md | 18 +- .../Requests/GetRecentlyAddedMetadata.md | 109 ++++--- .../Requests/GetRecentlyAddedOperator.md | 9 + .../Requests/GetRecentlyAddedRequest.md | 5 + .../Requests/GetRecentlyAddedResponse.md | 2 +- .../Requests/GetRecentlyAddedResponseBody.md | 2 +- docs/Models/Requests/GetRecentlyAddedSort.md | 15 + docs/Models/Requests/GetRecentlyAddedType.md | 14 + .../GetSearchLibraryQueryParamType.md | 19 ++ .../Requests/GetSearchLibraryRequest.md | 2 +- docs/Models/Requests/LibrarySectionID.md | 16 -- docs/Models/Requests/Media.md | 38 +-- docs/Models/Requests/Meta.md | 8 +- docs/Models/Requests/MetaDataRating.md | 10 + docs/Models/Requests/Operator.md | 4 +- docs/Models/Requests/OptimizedForStreaming.md | 9 + docs/Models/Requests/Part.md | 27 +- docs/Models/Requests/QueryParamIncludeMeta.md | 12 + docs/Models/Requests/Role.md | 11 +- docs/Models/Requests/Sort.md | 18 +- docs/Models/Requests/Stream.md | 74 ++--- docs/Models/Requests/Writer.md | 2 +- docs/sdks/authentication/README.md | 2 +- docs/sdks/hubs/README.md | 53 ++++ docs/sdks/library/README.md | 60 ++-- docs/sdks/search/README.md | 2 +- docs/sdks/server/README.md | 4 +- 215 files changed, 4949 insertions(+), 878 deletions(-) rename LukeHagar/PlexAPI/SDK/Models/Errors/{GetRecentlyAddedBadRequest.cs => GetRecentlyAddedLibraryBadRequest.cs} (88%) rename LukeHagar/PlexAPI/SDK/Models/Errors/{GetRecentlyAddedErrors.cs => GetRecentlyAddedLibraryLibraryErrors.cs} (93%) rename LukeHagar/PlexAPI/SDK/Models/Errors/{GetRecentlyAddedUnauthorized.cs => GetRecentlyAddedLibraryUnauthorized.cs} (87%) create mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryDetailsField.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryDetailsFieldType.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryDetailsOperator.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryDetailsSort.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsActiveDirection.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsCollection.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsDefaultDirection.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsFlattenSeasons.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsHasThumbnail.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsLibraryActiveDirection.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsLibraryDefaultDirection.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsLibraryField.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsLibraryFieldType.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsLibraryFilter.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsLibraryOperator.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsLibraryResponse200Type.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsLibrarySort.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsMediaGuid.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsMeta.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsMetaDataRating.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsOptimizedForStreaming.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsQueryParamIncludeMeta.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsQueryParamType.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsShowOrdering.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsStream.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsUltraBlurColors.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/GetMetaDataByRatingKeyStream.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedActiveDirection.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedDefaultDirection.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedField.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedFieldType.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedFilter.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedHubsResponseType.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedHubsType.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedImage.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedLibraryCountry.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedLibraryDirector.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedLibraryFilter.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedLibraryGenre.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedLibraryMedia.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedLibraryMediaContainer.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedLibraryMetadata.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedLibraryPart.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedLibraryRequest.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedLibraryResponse.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedLibraryResponseBody.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedLibraryRole.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedLibraryType.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedLibraryWriter.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedOperator.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedSort.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedType.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchLibraryQueryParamType.cs delete mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/LibrarySectionID.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/MetaDataRating.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/OptimizedForStreaming.cs create mode 100644 LukeHagar/PlexAPI/SDK/Models/Requests/QueryParamIncludeMeta.cs delete mode 100644 docs/Models/Errors/GetRecentlyAddedErrors.md rename docs/Models/Errors/{GetRecentlyAddedUnauthorized.md => GetRecentlyAddedLibraryBadRequest.md} (94%) create mode 100644 docs/Models/Errors/GetRecentlyAddedLibraryLibraryErrors.md rename docs/Models/Errors/{GetRecentlyAddedBadRequest.md => GetRecentlyAddedLibraryUnauthorized.md} (87%) create mode 100644 docs/Models/Requests/GetLibraryDetailsField.md create mode 100644 docs/Models/Requests/GetLibraryDetailsFieldType.md create mode 100644 docs/Models/Requests/GetLibraryDetailsOperator.md create mode 100644 docs/Models/Requests/GetLibraryDetailsSort.md create mode 100644 docs/Models/Requests/GetLibraryItemsActiveDirection.md create mode 100644 docs/Models/Requests/GetLibraryItemsCollection.md create mode 100644 docs/Models/Requests/GetLibraryItemsDefaultDirection.md create mode 100644 docs/Models/Requests/GetLibraryItemsFlattenSeasons.md create mode 100644 docs/Models/Requests/GetLibraryItemsHasThumbnail.md create mode 100644 docs/Models/Requests/GetLibraryItemsLibraryActiveDirection.md create mode 100644 docs/Models/Requests/GetLibraryItemsLibraryDefaultDirection.md create mode 100644 docs/Models/Requests/GetLibraryItemsLibraryField.md create mode 100644 docs/Models/Requests/GetLibraryItemsLibraryFieldType.md create mode 100644 docs/Models/Requests/GetLibraryItemsLibraryFilter.md create mode 100644 docs/Models/Requests/GetLibraryItemsLibraryOperator.md create mode 100644 docs/Models/Requests/GetLibraryItemsLibraryResponse200Type.md create mode 100644 docs/Models/Requests/GetLibraryItemsLibrarySort.md create mode 100644 docs/Models/Requests/GetLibraryItemsMediaGuid.md create mode 100644 docs/Models/Requests/GetLibraryItemsMeta.md create mode 100644 docs/Models/Requests/GetLibraryItemsMetaDataRating.md create mode 100644 docs/Models/Requests/GetLibraryItemsOptimizedForStreaming.md create mode 100644 docs/Models/Requests/GetLibraryItemsQueryParamIncludeMeta.md create mode 100644 docs/Models/Requests/GetLibraryItemsQueryParamType.md create mode 100644 docs/Models/Requests/GetLibraryItemsShowOrdering.md create mode 100644 docs/Models/Requests/GetLibraryItemsStream.md create mode 100644 docs/Models/Requests/GetLibraryItemsUltraBlurColors.md create mode 100644 docs/Models/Requests/GetMetaDataByRatingKeyStream.md create mode 100644 docs/Models/Requests/GetRecentlyAddedActiveDirection.md create mode 100644 docs/Models/Requests/GetRecentlyAddedDefaultDirection.md create mode 100644 docs/Models/Requests/GetRecentlyAddedField.md create mode 100644 docs/Models/Requests/GetRecentlyAddedFieldType.md create mode 100644 docs/Models/Requests/GetRecentlyAddedFilter.md create mode 100644 docs/Models/Requests/GetRecentlyAddedHubsResponseType.md create mode 100644 docs/Models/Requests/GetRecentlyAddedHubsType.md create mode 100644 docs/Models/Requests/GetRecentlyAddedImage.md create mode 100644 docs/Models/Requests/GetRecentlyAddedLibraryCountry.md create mode 100644 docs/Models/Requests/GetRecentlyAddedLibraryDirector.md create mode 100644 docs/Models/Requests/GetRecentlyAddedLibraryFilter.md create mode 100644 docs/Models/Requests/GetRecentlyAddedLibraryGenre.md create mode 100644 docs/Models/Requests/GetRecentlyAddedLibraryMedia.md create mode 100644 docs/Models/Requests/GetRecentlyAddedLibraryMediaContainer.md create mode 100644 docs/Models/Requests/GetRecentlyAddedLibraryMetadata.md create mode 100644 docs/Models/Requests/GetRecentlyAddedLibraryPart.md create mode 100644 docs/Models/Requests/GetRecentlyAddedLibraryRequest.md create mode 100644 docs/Models/Requests/GetRecentlyAddedLibraryResponse.md create mode 100644 docs/Models/Requests/GetRecentlyAddedLibraryResponseBody.md create mode 100644 docs/Models/Requests/GetRecentlyAddedLibraryRole.md create mode 100644 docs/Models/Requests/GetRecentlyAddedLibraryType.md create mode 100644 docs/Models/Requests/GetRecentlyAddedLibraryWriter.md create mode 100644 docs/Models/Requests/GetRecentlyAddedOperator.md create mode 100644 docs/Models/Requests/GetRecentlyAddedSort.md create mode 100644 docs/Models/Requests/GetRecentlyAddedType.md create mode 100644 docs/Models/Requests/GetSearchLibraryQueryParamType.md delete mode 100644 docs/Models/Requests/LibrarySectionID.md create mode 100644 docs/Models/Requests/MetaDataRating.md create mode 100644 docs/Models/Requests/OptimizedForStreaming.md create mode 100644 docs/Models/Requests/QueryParamIncludeMeta.md diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index db41f7c..6665797 100755 --- a/.speakeasy/gen.lock +++ b/.speakeasy/gen.lock @@ -1,12 +1,12 @@ lockVersion: 2.0.0 id: 5a8dbcbc-e0ee-41f0-9d84-b8b50567d1e9 management: - docChecksum: 82a4a9784fb0e66e1c64f130701cdd08 + docChecksum: 4b984f7caf05a57f71aaaaa33a3a51da docVersion: 0.0.3 - speakeasyVersion: 1.401.2 - generationVersion: 2.421.3 - releaseVersion: 0.7.1 - configChecksum: 8d6cb03a12bcd409eb4b9bc60f4405f8 + speakeasyVersion: 1.402.14 + generationVersion: 2.422.22 + releaseVersion: 0.8.0 + configChecksum: b2f977640ef890e79b91e89ca8b0ab90 repoURL: https://github.com/LukeHagar/plexcsharp.git repoSubDirectory: . published: true @@ -14,7 +14,7 @@ features: csharp: additionalDependencies: 0.1.0 constsAndDefaults: 0.0.1 - core: 3.10.0 + core: 3.10.1 deprecations: 2.81.2 enums: 2.82.0 errors: 0.0.2 @@ -30,7 +30,6 @@ features: nullables: 0.1.0 responseFormat: 0.0.4 sdkHooks: 0.1.0 - unions: 0.2.1 generatedFiles: - .gitattributes - CONTRIBUTING.md @@ -173,10 +172,10 @@ generatedFiles: - LukeHagar/PlexAPI/SDK/Models/Errors/GetPlaylistsErrors.cs - LukeHagar/PlexAPI/SDK/Models/Errors/GetPlaylistsPlaylistsErrors.cs - LukeHagar/PlexAPI/SDK/Models/Errors/GetPlaylistsUnauthorized.cs - - LukeHagar/PlexAPI/SDK/Models/Errors/GetRecentlyAddedBadRequest.cs - - LukeHagar/PlexAPI/SDK/Models/Errors/GetRecentlyAddedErrors.cs + - LukeHagar/PlexAPI/SDK/Models/Errors/GetRecentlyAddedLibraryBadRequest.cs - LukeHagar/PlexAPI/SDK/Models/Errors/GetRecentlyAddedLibraryErrors.cs - - LukeHagar/PlexAPI/SDK/Models/Errors/GetRecentlyAddedUnauthorized.cs + - LukeHagar/PlexAPI/SDK/Models/Errors/GetRecentlyAddedLibraryLibraryErrors.cs + - LukeHagar/PlexAPI/SDK/Models/Errors/GetRecentlyAddedLibraryUnauthorized.cs - LukeHagar/PlexAPI/SDK/Models/Errors/GetRefreshLibraryMetadataBadRequest.cs - LukeHagar/PlexAPI/SDK/Models/Errors/GetRefreshLibraryMetadataErrors.cs - LukeHagar/PlexAPI/SDK/Models/Errors/GetRefreshLibraryMetadataLibraryErrors.cs @@ -424,11 +423,15 @@ generatedFiles: - LukeHagar/PlexAPI/SDK/Models/Requests/GetHomeDataResponse.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetHomeDataResponseBody.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryDetailsDirectory.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryDetailsField.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryDetailsFieldType.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryDetailsFilter.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryDetailsMediaContainer.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryDetailsOperator.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryDetailsRequest.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryDetailsResponse.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryDetailsResponseBody.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryDetailsSort.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryDetailsType.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryHubsCountry.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryHubsDirector.cs @@ -443,26 +446,48 @@ generatedFiles: - LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryHubsResponseBody.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryHubsRole.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryHubsWriter.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsActiveDirection.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsCollection.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsCountry.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsDefaultDirection.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsDirector.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsField.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsFieldType.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsFilter.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsFlattenSeasons.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsGenre.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsHasThumbnail.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsImage.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsLibraryActiveDirection.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsLibraryDefaultDirection.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsLibraryField.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsLibraryFieldType.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsLibraryFilter.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsLibraryOperator.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsLibraryResponse200Type.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsLibraryResponseType.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsLibrarySort.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsLibraryType.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsMedia.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsMediaContainer.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsMediaGuid.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsMeta.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsMetaDataRating.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsMetadata.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsOperator.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsOptimizedForStreaming.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsPart.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsQueryParamIncludeMeta.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsQueryParamType.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsRequest.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsResponse.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsResponseBody.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsRole.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsShowOrdering.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsSort.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsStream.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsType.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsUltraBlurColors.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsWriter.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetMediaProvidersDirectory.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetMediaProvidersMediaContainer.cs @@ -480,6 +505,7 @@ generatedFiles: - LukeHagar/PlexAPI/SDK/Models/Requests/GetMetaDataByRatingKeyResponse.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetMetaDataByRatingKeyResponseBody.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetMetaDataByRatingKeyRole.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetMetaDataByRatingKeyStream.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetMetaDataByRatingKeyWriter.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetMetadataChildrenDirectory.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetMetadataChildrenMediaContainer.cs @@ -523,11 +549,36 @@ generatedFiles: - LukeHagar/PlexAPI/SDK/Models/Requests/GetPlaylistsRequest.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetPlaylistsResponse.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetPlaylistsResponseBody.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedActiveDirection.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedDefaultDirection.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedField.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedFieldType.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedFilter.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedHubsResponseType.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedHubsType.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedImage.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedLibraryCountry.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedLibraryDirector.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedLibraryFilter.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedLibraryGenre.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedLibraryMedia.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedLibraryMediaContainer.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedLibraryMetadata.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedLibraryPart.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedLibraryRequest.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedLibraryResponse.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedLibraryResponseBody.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedLibraryRole.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedLibraryType.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedLibraryWriter.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedMediaContainer.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedMetadata.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedOperator.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedRequest.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedResponse.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedResponseBody.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedSort.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedType.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetRefreshLibraryMetadataRequest.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetRefreshLibraryMetadataResponse.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetResizedPhotoRequest.cs @@ -538,6 +589,7 @@ generatedFiles: - LukeHagar/PlexAPI/SDK/Models/Requests/GetResourcesStatisticsResponseBody.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchLibraryMediaContainer.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchLibraryMetadata.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchLibraryQueryParamType.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchLibraryRequest.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchLibraryResponse.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchLibraryResponseBody.cs @@ -642,7 +694,6 @@ generatedFiles: - LukeHagar/PlexAPI/SDK/Models/Requests/IncludeRelay.cs - LukeHagar/PlexAPI/SDK/Models/Requests/InternalPaymentMethod.cs - LukeHagar/PlexAPI/SDK/Models/Requests/Level.cs - - LukeHagar/PlexAPI/SDK/Models/Requests/LibrarySectionID.cs - LukeHagar/PlexAPI/SDK/Models/Requests/Libtype.cs - LukeHagar/PlexAPI/SDK/Models/Requests/Location.cs - LukeHagar/PlexAPI/SDK/Models/Requests/LogLineRequest.cs @@ -659,11 +710,13 @@ generatedFiles: - LukeHagar/PlexAPI/SDK/Models/Requests/MediaProvider.cs - LukeHagar/PlexAPI/SDK/Models/Requests/MediaReviewsVisibility.cs - LukeHagar/PlexAPI/SDK/Models/Requests/Meta.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/MetaDataRating.cs - LukeHagar/PlexAPI/SDK/Models/Requests/Metadata.cs - LukeHagar/PlexAPI/SDK/Models/Requests/MinSize.cs - LukeHagar/PlexAPI/SDK/Models/Requests/MyPlex.cs - LukeHagar/PlexAPI/SDK/Models/Requests/OnlyTransient.cs - LukeHagar/PlexAPI/SDK/Models/Requests/Operator.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/OptimizedForStreaming.cs - LukeHagar/PlexAPI/SDK/Models/Requests/Part.cs - LukeHagar/PlexAPI/SDK/Models/Requests/PastSubscription.cs - LukeHagar/PlexAPI/SDK/Models/Requests/PathParamTaskName.cs @@ -699,6 +752,7 @@ generatedFiles: - LukeHagar/PlexAPI/SDK/Models/Requests/Provider.cs - LukeHagar/PlexAPI/SDK/Models/Requests/QueryParamFilter.cs - LukeHagar/PlexAPI/SDK/Models/Requests/QueryParamForce.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/QueryParamIncludeMeta.cs - LukeHagar/PlexAPI/SDK/Models/Requests/QueryParamOnlyTransient.cs - LukeHagar/PlexAPI/SDK/Models/Requests/QueryParamSmart.cs - LukeHagar/PlexAPI/SDK/Models/Requests/QueryParamType.cs @@ -909,10 +963,10 @@ generatedFiles: - docs/Models/Errors/GetPlaylistsErrors.md - docs/Models/Errors/GetPlaylistsPlaylistsErrors.md - docs/Models/Errors/GetPlaylistsUnauthorized.md - - docs/Models/Errors/GetRecentlyAddedBadRequest.md - - docs/Models/Errors/GetRecentlyAddedErrors.md + - docs/Models/Errors/GetRecentlyAddedLibraryBadRequest.md - docs/Models/Errors/GetRecentlyAddedLibraryErrors.md - - docs/Models/Errors/GetRecentlyAddedUnauthorized.md + - docs/Models/Errors/GetRecentlyAddedLibraryLibraryErrors.md + - docs/Models/Errors/GetRecentlyAddedLibraryUnauthorized.md - docs/Models/Errors/GetRefreshLibraryMetadataBadRequest.md - docs/Models/Errors/GetRefreshLibraryMetadataErrors.md - docs/Models/Errors/GetRefreshLibraryMetadataLibraryErrors.md @@ -1159,11 +1213,15 @@ generatedFiles: - docs/Models/Requests/GetHomeDataResponse.md - docs/Models/Requests/GetHomeDataResponseBody.md - docs/Models/Requests/GetLibraryDetailsDirectory.md + - docs/Models/Requests/GetLibraryDetailsField.md + - docs/Models/Requests/GetLibraryDetailsFieldType.md - docs/Models/Requests/GetLibraryDetailsFilter.md - docs/Models/Requests/GetLibraryDetailsMediaContainer.md + - docs/Models/Requests/GetLibraryDetailsOperator.md - docs/Models/Requests/GetLibraryDetailsRequest.md - docs/Models/Requests/GetLibraryDetailsResponse.md - docs/Models/Requests/GetLibraryDetailsResponseBody.md + - docs/Models/Requests/GetLibraryDetailsSort.md - docs/Models/Requests/GetLibraryDetailsType.md - docs/Models/Requests/GetLibraryHubsCountry.md - docs/Models/Requests/GetLibraryHubsDirector.md @@ -1178,26 +1236,48 @@ generatedFiles: - docs/Models/Requests/GetLibraryHubsResponseBody.md - docs/Models/Requests/GetLibraryHubsRole.md - docs/Models/Requests/GetLibraryHubsWriter.md + - docs/Models/Requests/GetLibraryItemsActiveDirection.md + - docs/Models/Requests/GetLibraryItemsCollection.md - docs/Models/Requests/GetLibraryItemsCountry.md + - docs/Models/Requests/GetLibraryItemsDefaultDirection.md - docs/Models/Requests/GetLibraryItemsDirector.md - docs/Models/Requests/GetLibraryItemsField.md - docs/Models/Requests/GetLibraryItemsFieldType.md - docs/Models/Requests/GetLibraryItemsFilter.md + - docs/Models/Requests/GetLibraryItemsFlattenSeasons.md - docs/Models/Requests/GetLibraryItemsGenre.md + - docs/Models/Requests/GetLibraryItemsHasThumbnail.md - docs/Models/Requests/GetLibraryItemsImage.md + - docs/Models/Requests/GetLibraryItemsLibraryActiveDirection.md + - docs/Models/Requests/GetLibraryItemsLibraryDefaultDirection.md + - docs/Models/Requests/GetLibraryItemsLibraryField.md + - docs/Models/Requests/GetLibraryItemsLibraryFieldType.md + - docs/Models/Requests/GetLibraryItemsLibraryFilter.md + - docs/Models/Requests/GetLibraryItemsLibraryOperator.md + - docs/Models/Requests/GetLibraryItemsLibraryResponse200Type.md - docs/Models/Requests/GetLibraryItemsLibraryResponseType.md + - docs/Models/Requests/GetLibraryItemsLibrarySort.md - docs/Models/Requests/GetLibraryItemsLibraryType.md - docs/Models/Requests/GetLibraryItemsMedia.md - docs/Models/Requests/GetLibraryItemsMediaContainer.md + - docs/Models/Requests/GetLibraryItemsMediaGuid.md + - docs/Models/Requests/GetLibraryItemsMeta.md + - docs/Models/Requests/GetLibraryItemsMetaDataRating.md - docs/Models/Requests/GetLibraryItemsMetadata.md - docs/Models/Requests/GetLibraryItemsOperator.md + - docs/Models/Requests/GetLibraryItemsOptimizedForStreaming.md - docs/Models/Requests/GetLibraryItemsPart.md + - docs/Models/Requests/GetLibraryItemsQueryParamIncludeMeta.md + - docs/Models/Requests/GetLibraryItemsQueryParamType.md - docs/Models/Requests/GetLibraryItemsRequest.md - docs/Models/Requests/GetLibraryItemsResponse.md - docs/Models/Requests/GetLibraryItemsResponseBody.md - docs/Models/Requests/GetLibraryItemsRole.md + - docs/Models/Requests/GetLibraryItemsShowOrdering.md - docs/Models/Requests/GetLibraryItemsSort.md + - docs/Models/Requests/GetLibraryItemsStream.md - docs/Models/Requests/GetLibraryItemsType.md + - docs/Models/Requests/GetLibraryItemsUltraBlurColors.md - docs/Models/Requests/GetLibraryItemsWriter.md - docs/Models/Requests/GetMediaProvidersDirectory.md - docs/Models/Requests/GetMediaProvidersMediaContainer.md @@ -1215,6 +1295,7 @@ generatedFiles: - docs/Models/Requests/GetMetaDataByRatingKeyResponse.md - docs/Models/Requests/GetMetaDataByRatingKeyResponseBody.md - docs/Models/Requests/GetMetaDataByRatingKeyRole.md + - docs/Models/Requests/GetMetaDataByRatingKeyStream.md - docs/Models/Requests/GetMetaDataByRatingKeyWriter.md - docs/Models/Requests/GetMetadataChildrenDirectory.md - docs/Models/Requests/GetMetadataChildrenMediaContainer.md @@ -1258,11 +1339,36 @@ generatedFiles: - docs/Models/Requests/GetPlaylistsRequest.md - docs/Models/Requests/GetPlaylistsResponse.md - docs/Models/Requests/GetPlaylistsResponseBody.md + - docs/Models/Requests/GetRecentlyAddedActiveDirection.md + - docs/Models/Requests/GetRecentlyAddedDefaultDirection.md + - docs/Models/Requests/GetRecentlyAddedField.md + - docs/Models/Requests/GetRecentlyAddedFieldType.md + - docs/Models/Requests/GetRecentlyAddedFilter.md + - docs/Models/Requests/GetRecentlyAddedHubsResponseType.md + - docs/Models/Requests/GetRecentlyAddedHubsType.md + - docs/Models/Requests/GetRecentlyAddedImage.md + - docs/Models/Requests/GetRecentlyAddedLibraryCountry.md + - docs/Models/Requests/GetRecentlyAddedLibraryDirector.md + - docs/Models/Requests/GetRecentlyAddedLibraryFilter.md + - docs/Models/Requests/GetRecentlyAddedLibraryGenre.md + - docs/Models/Requests/GetRecentlyAddedLibraryMedia.md + - docs/Models/Requests/GetRecentlyAddedLibraryMediaContainer.md + - docs/Models/Requests/GetRecentlyAddedLibraryMetadata.md + - docs/Models/Requests/GetRecentlyAddedLibraryPart.md + - docs/Models/Requests/GetRecentlyAddedLibraryRequest.md + - docs/Models/Requests/GetRecentlyAddedLibraryResponse.md + - docs/Models/Requests/GetRecentlyAddedLibraryResponseBody.md + - docs/Models/Requests/GetRecentlyAddedLibraryRole.md + - docs/Models/Requests/GetRecentlyAddedLibraryType.md + - docs/Models/Requests/GetRecentlyAddedLibraryWriter.md - docs/Models/Requests/GetRecentlyAddedMediaContainer.md - docs/Models/Requests/GetRecentlyAddedMetadata.md + - docs/Models/Requests/GetRecentlyAddedOperator.md - docs/Models/Requests/GetRecentlyAddedRequest.md - docs/Models/Requests/GetRecentlyAddedResponse.md - docs/Models/Requests/GetRecentlyAddedResponseBody.md + - docs/Models/Requests/GetRecentlyAddedSort.md + - docs/Models/Requests/GetRecentlyAddedType.md - docs/Models/Requests/GetRefreshLibraryMetadataRequest.md - docs/Models/Requests/GetRefreshLibraryMetadataResponse.md - docs/Models/Requests/GetResizedPhotoRequest.md @@ -1273,6 +1379,7 @@ generatedFiles: - docs/Models/Requests/GetResourcesStatisticsResponseBody.md - docs/Models/Requests/GetSearchLibraryMediaContainer.md - docs/Models/Requests/GetSearchLibraryMetadata.md + - docs/Models/Requests/GetSearchLibraryQueryParamType.md - docs/Models/Requests/GetSearchLibraryRequest.md - docs/Models/Requests/GetSearchLibraryResponse.md - docs/Models/Requests/GetSearchLibraryResponseBody.md @@ -1377,7 +1484,6 @@ generatedFiles: - docs/Models/Requests/IncludeRelay.md - docs/Models/Requests/InternalPaymentMethod.md - docs/Models/Requests/Level.md - - docs/Models/Requests/LibrarySectionID.md - docs/Models/Requests/Libtype.md - docs/Models/Requests/Location.md - docs/Models/Requests/LogLineRequest.md @@ -1394,11 +1500,13 @@ generatedFiles: - docs/Models/Requests/MediaProvider.md - docs/Models/Requests/MediaReviewsVisibility.md - docs/Models/Requests/Meta.md + - docs/Models/Requests/MetaDataRating.md - docs/Models/Requests/Metadata.md - docs/Models/Requests/MinSize.md - docs/Models/Requests/MyPlex.md - docs/Models/Requests/OnlyTransient.md - docs/Models/Requests/Operator.md + - docs/Models/Requests/OptimizedForStreaming.md - docs/Models/Requests/Part.md - docs/Models/Requests/PastSubscription.md - docs/Models/Requests/PathParamTaskName.md @@ -1434,6 +1542,7 @@ generatedFiles: - docs/Models/Requests/Provider.md - docs/Models/Requests/QueryParamFilter.md - docs/Models/Requests/QueryParamForce.md + - docs/Models/Requests/QueryParamIncludeMeta.md - docs/Models/Requests/QueryParamOnlyTransient.md - docs/Models/Requests/QueryParamSmart.md - docs/Models/Requests/QueryParamType.md @@ -1989,7 +2098,7 @@ examples: X-Plex-Container-Size: 50 responses: "200": - application/json: {"MediaContainer": {"size": 70, "totalSize": 170, "offset": 0, "content": "secondary", "allowSync": true, "nocache": true, "art": "/:/resources/movie-fanart.jpg", "identifier": "com.plexapp.plugins.library", "librarySectionID": "", "librarySectionTitle": "Movies", "librarySectionUUID": "322a231a-b7f7-49f5-920f-14c61199cd30", "mediaTagPrefix": "/system/bundle/media/flags/", "mediaTagVersion": 1701731894, "thumb": "/:/resources/movie.png", "title1": "Movies", "title2": "Recently Released", "viewGroup": "movie", "viewMode": 65592, "mixedParents": true, "Metadata": [{"ratingKey": "58683", "key": "/library/metadata/58683", "guid": "plex://movie/5d7768ba96b655001fdc0408", "studio": "20th Century Studios", "skipChildren": false, "type": "movie", "title": "Avatar: The Way of Water", "slug": "4-for-texas", "contentRating": "PG-13", "summary": "Jake Sully lives with his newfound family formed on the extrasolar moon Pandora. Once a familiar threat returns to finish what was previously started, Jake must work with Neytiri and the army of the Na'vi race to protect their home.", "rating": 7.6, "audienceRating": 9.2, "year": 2022, "seasonCount": 2022, "tagline": "Return to Pandora.", "flattenSeasons": "1", "showOrdering": "dvd", "thumb": "/library/metadata/58683/thumb/1703239236", "art": "/library/metadata/58683/art/1703239236", "banner": "/library/metadata/58683/banner/1703239236", "duration": 11558112, "originallyAvailableAt": "2022-12-14T00:00:00Z", "addedAt": 1556281940, "updatedAt": 1556281940, "audienceRatingImage": "rottentomatoes://image.rating.upright", "chapterSource": "media", "primaryExtraKey": "/library/metadata/58684", "ratingImage": "rottentomatoes://image.rating.ripe", "grandparentRatingKey": "66", "grandparentGuid": "plex://show/5d9c081b170e24001f2a7be4", "grandparentKey": "/library/metadata/66", "grandparentTitle": "Caprica", "grandparentThumb": "/library/metadata/66/thumb/1705716261", "grandparentSlug": "alice-in-borderland-2020", "grandparentArt": "/library/metadata/66/art/1705716261", "grandparentTheme": "/library/metadata/66/theme/1705716261", "Media": [{"id": 119534, "duration": 11558112, "bitrate": 25025, "width": 3840, "height": 2072, "aspectRatio": 1.85, "audioProfile": "dts", "audioChannels": 6, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "Part": [{"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "1"}, {"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "1"}, {"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "1"}]}], "Genre": [{"tag": "Adventure"}, {"tag": "Adventure"}, {"tag": "Adventure"}], "Country": [{"tag": "United States of America"}, {"tag": "United States of America"}], "Director": [{"tag": "James Cameron"}, {"tag": "James Cameron"}], "Writer": [{"tag": "James Cameron"}], "Collection": [{"tag": "Working NL Subs"}], "Role": [{"tag": "Sigourney Weaver"}, {"tag": "Sigourney Weaver"}, {"tag": "Sigourney Weaver"}], "Guid": [{"id": "imdb://tt13015952"}], "UltraBlurColors": {"topLeft": "11333b", "topRight": "0a232d", "bottomRight": "73958", "bottomLeft": "1f5066"}, "Image": [{"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}, {"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}], "titleSort": "Whale", "viewCount": 1, "lastViewedAt": 1682752242, "originalTitle": "映画 ブラッククローバー 魔法帝の剣", "viewOffset": 5222500, "skipCount": 1, "index": 1, "theme": "/library/metadata/1/theme/1705636920", "leafCount": 14, "viewedLeafCount": 0, "childCount": 1, "hasPremiumExtras": "1", "hasPremiumPrimaryExtra": "1", "parentRatingKey": "66", "parentGuid": "plex://show/5d9c081b170e24001f2a7be4", "parentStudio": "UCP", "parentKey": "/library/metadata/66", "parentTitle": "Caprica", "parentIndex": 1, "parentYear": 2010, "parentThumb": "/library/metadata/66/thumb/1705716261", "parentTheme": "/library/metadata/66/theme/1705716261"}, {"ratingKey": "58683", "key": "/library/metadata/58683", "guid": "plex://movie/5d7768ba96b655001fdc0408", "studio": "20th Century Studios", "skipChildren": false, "type": "movie", "title": "Avatar: The Way of Water", "slug": "4-for-texas", "contentRating": "PG-13", "summary": "Jake Sully lives with his newfound family formed on the extrasolar moon Pandora. Once a familiar threat returns to finish what was previously started, Jake must work with Neytiri and the army of the Na'vi race to protect their home.", "rating": 7.6, "audienceRating": 9.2, "year": 2022, "seasonCount": 2022, "tagline": "Return to Pandora.", "flattenSeasons": "1", "showOrdering": "dvd", "thumb": "/library/metadata/58683/thumb/1703239236", "art": "/library/metadata/58683/art/1703239236", "banner": "/library/metadata/58683/banner/1703239236", "duration": 11558112, "originallyAvailableAt": "2022-12-14T00:00:00Z", "addedAt": 1556281940, "updatedAt": 1556281940, "audienceRatingImage": "rottentomatoes://image.rating.upright", "chapterSource": "media", "primaryExtraKey": "/library/metadata/58684", "ratingImage": "rottentomatoes://image.rating.ripe", "grandparentRatingKey": "66", "grandparentGuid": "plex://show/5d9c081b170e24001f2a7be4", "grandparentKey": "/library/metadata/66", "grandparentTitle": "Caprica", "grandparentThumb": "/library/metadata/66/thumb/1705716261", "grandparentSlug": "alice-in-borderland-2020", "grandparentArt": "/library/metadata/66/art/1705716261", "grandparentTheme": "/library/metadata/66/theme/1705716261", "Media": [{"id": 119534, "duration": 11558112, "bitrate": 25025, "width": 3840, "height": 2072, "aspectRatio": 1.85, "audioProfile": "dts", "audioChannels": 6, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "Part": [{"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "1"}]}], "Genre": [], "Country": [{"tag": "United States of America"}], "Director": [{"tag": "James Cameron"}, {"tag": "James Cameron"}, {"tag": "James Cameron"}], "Writer": [{"tag": "James Cameron"}], "Collection": [{"tag": "Working NL Subs"}, {"tag": "Working NL Subs"}], "Role": [{"tag": "Sigourney Weaver"}, {"tag": "Sigourney Weaver"}, {"tag": "Sigourney Weaver"}], "Guid": [{"id": "imdb://tt13015952"}], "UltraBlurColors": {"topLeft": "11333b", "topRight": "0a232d", "bottomRight": "73958", "bottomLeft": "1f5066"}, "Image": [{"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}], "titleSort": "Whale", "viewCount": 1, "lastViewedAt": 1682752242, "originalTitle": "映画 ブラッククローバー 魔法帝の剣", "viewOffset": 5222500, "skipCount": 1, "index": 1, "theme": "/library/metadata/1/theme/1705636920", "leafCount": 14, "viewedLeafCount": 0, "childCount": 1, "hasPremiumExtras": "1", "hasPremiumPrimaryExtra": "1", "parentRatingKey": "66", "parentGuid": "plex://show/5d9c081b170e24001f2a7be4", "parentStudio": "UCP", "parentKey": "/library/metadata/66", "parentTitle": "Caprica", "parentIndex": 1, "parentYear": 2010, "parentThumb": "/library/metadata/66/thumb/1705716261", "parentTheme": "/library/metadata/66/theme/1705716261"}], "Meta": {"Type": [{"key": "/library/sections/2/all?type=2", "type": "show", "title": "TV Shows", "active": false, "Filter": [], "Sort": [], "Field": [{"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}]}, {"key": "/library/sections/2/all?type=2", "type": "show", "title": "TV Shows", "active": false, "Filter": [{"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter"}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter"}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter"}], "Sort": [], "Field": [{"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}]}], "FieldType": [{"type": "tag", "Operator": [{"key": "=", "title": "is"}]}, {"type": "tag", "Operator": [{"key": "=", "title": "is"}, {"key": "=", "title": "is"}]}, {"type": "tag", "Operator": [{"key": "=", "title": "is"}, {"key": "=", "title": "is"}]}]}}} + application/json: {"MediaContainer": {"Type": [{"key": "/library/sections/2/all?type=2", "type": "show", "title": "TV Shows", "active": false, "Filter": [{"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter"}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter"}], "Sort": [{"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}, {"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}], "Field": [{"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}]}], "FieldType": [{"type": "tag", "Operator": [{"key": "=", "title": "is"}, {"key": "=", "title": "is"}, {"key": "=", "title": "is"}]}, {"type": "tag", "Operator": [{"key": "=", "title": "is"}, {"key": "=", "title": "is"}]}, {"type": "tag", "Operator": [{"key": "=", "title": "is"}, {"key": "=", "title": "is"}]}], "size": 70, "totalSize": 170, "offset": 0, "content": "secondary", "allowSync": true, "nocache": true, "art": "/:/resources/movie-fanart.jpg", "identifier": "com.plexapp.plugins.library", "librarySectionID": 1, "librarySectionTitle": "Movies", "librarySectionUUID": "322a231a-b7f7-49f5-920f-14c61199cd30", "mediaTagPrefix": "/system/bundle/media/flags/", "mediaTagVersion": 1701731894, "thumb": "/:/resources/movie.png", "title1": "Movies", "title2": "Recently Released", "viewGroup": "movie", "viewMode": 65592, "mixedParents": true, "Metadata": [{"ratingKey": "58683", "key": "/library/metadata/58683", "guid": "plex://movie/5d7768ba96b655001fdc0408", "studio": "20th Century Studios", "skipChildren": false, "librarySectionID": 1, "librarySectionTitle": "Movies", "librarySectionKey": "/library/sections/1", "type": "movie", "title": "Avatar: The Way of Water", "slug": "4-for-texas", "contentRating": "PG-13", "summary": "Jake Sully lives with his newfound family formed on the extrasolar moon Pandora. Once a familiar threat returns to finish what was previously started, Jake must work with Neytiri and the army of the Na'vi race to protect their home.", "rating": 7.6, "audienceRating": 9.2, "year": 2022, "seasonCount": 2022, "tagline": "Return to Pandora.", "flattenSeasons": "1", "showOrdering": "dvd", "thumb": "/library/metadata/58683/thumb/1703239236", "art": "/library/metadata/58683/art/1703239236", "banner": "/library/metadata/58683/banner/1703239236", "duration": 11558112, "originallyAvailableAt": "2022-12-14T00:00:00Z", "addedAt": 1556281940, "updatedAt": 1556281940, "audienceRatingImage": "rottentomatoes://image.rating.upright", "chapterSource": "media", "primaryExtraKey": "/library/metadata/58684", "ratingImage": "rottentomatoes://image.rating.ripe", "grandparentRatingKey": "66", "grandparentGuid": "plex://show/5d9c081b170e24001f2a7be4", "grandparentKey": "/library/metadata/66", "grandparentTitle": "Caprica", "grandparentThumb": "/library/metadata/66/thumb/1705716261", "parentSlug": "alice-in-borderland-2020", "grandparentSlug": "alice-in-borderland-2020", "grandparentArt": "/library/metadata/66/art/1705716261", "grandparentTheme": "/library/metadata/66/theme/1705716261", "Media": [{"id": 119534, "duration": 11558112, "bitrate": 25025, "width": 3840, "height": 2072, "aspectRatio": 1.85, "audioProfile": "dts", "audioChannels": 6, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "optimizedForStreaming": 1, "has64bitOffsets": false, "Part": [{"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "1", "Stream": [{"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}]}, {"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "1", "Stream": [{"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}, {"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}, {"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}]}, {"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "1", "Stream": [{"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}]}]}], "Genre": [{"tag": "Adventure"}, {"tag": "Adventure"}, {"tag": "Adventure"}], "Country": [{"tag": "United States of America"}, {"tag": "United States of America"}], "Director": [{"tag": "James Cameron"}, {"tag": "James Cameron"}], "Writer": [{"tag": "James Cameron"}], "Collection": [{"tag": "Working NL Subs"}], "Role": [{"id": 294129, "filter": "actor=294129", "thumb": "https://metadata-static.plex.tv/2/people/27b85844536c39f3f9ac943aaad46608.jpg", "tag": "Mike Smith", "tagKey": "668e7e7b22bcad9064350c91", "role": "Self"}, {"id": 294129, "filter": "actor=294129", "thumb": "https://metadata-static.plex.tv/2/people/27b85844536c39f3f9ac943aaad46608.jpg", "tag": "Mike Smith", "tagKey": "668e7e7b22bcad9064350c91", "role": "Self"}, {"id": 294129, "filter": "actor=294129", "thumb": "https://metadata-static.plex.tv/2/people/27b85844536c39f3f9ac943aaad46608.jpg", "tag": "Mike Smith", "tagKey": "668e7e7b22bcad9064350c91", "role": "Self"}], "Guid": [{"id": "imdb://tt13015952"}], "UltraBlurColors": {"topLeft": "11333b", "topRight": "0a232d", "bottomRight": "73958", "bottomLeft": "1f5066"}, "Rating": [{"image": "themoviedb://image.rating", "value": 3, "type": "audience"}], "Image": [{"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}, {"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}], "titleSort": "Whale", "viewCount": 1, "lastViewedAt": 1682752242, "originalTitle": "映画 ブラッククローバー 魔法帝の剣", "viewOffset": 5222500, "skipCount": 1, "index": 1, "theme": "/library/metadata/1/theme/1705636920", "leafCount": 14, "viewedLeafCount": 0, "childCount": 1, "hasPremiumExtras": "1", "hasPremiumPrimaryExtra": "1", "parentRatingKey": "66", "parentGuid": "plex://show/5d9c081b170e24001f2a7be4", "parentStudio": "UCP", "parentKey": "/library/metadata/66", "parentTitle": "Caprica", "parentIndex": 1, "parentYear": 2010, "parentThumb": "/library/metadata/66/thumb/1705716261", "parentTheme": "/library/metadata/66/theme/1705716261"}, {"ratingKey": "58683", "key": "/library/metadata/58683", "guid": "plex://movie/5d7768ba96b655001fdc0408", "studio": "20th Century Studios", "skipChildren": false, "librarySectionID": 1, "librarySectionTitle": "Movies", "librarySectionKey": "/library/sections/1", "type": "movie", "title": "Avatar: The Way of Water", "slug": "4-for-texas", "contentRating": "PG-13", "summary": "Jake Sully lives with his newfound family formed on the extrasolar moon Pandora. Once a familiar threat returns to finish what was previously started, Jake must work with Neytiri and the army of the Na'vi race to protect their home.", "rating": 7.6, "audienceRating": 9.2, "year": 2022, "seasonCount": 2022, "tagline": "Return to Pandora.", "flattenSeasons": "1", "showOrdering": "dvd", "thumb": "/library/metadata/58683/thumb/1703239236", "art": "/library/metadata/58683/art/1703239236", "banner": "/library/metadata/58683/banner/1703239236", "duration": 11558112, "originallyAvailableAt": "2022-12-14T00:00:00Z", "addedAt": 1556281940, "updatedAt": 1556281940, "audienceRatingImage": "rottentomatoes://image.rating.upright", "chapterSource": "media", "primaryExtraKey": "/library/metadata/58684", "ratingImage": "rottentomatoes://image.rating.ripe", "grandparentRatingKey": "66", "grandparentGuid": "plex://show/5d9c081b170e24001f2a7be4", "grandparentKey": "/library/metadata/66", "grandparentTitle": "Caprica", "grandparentThumb": "/library/metadata/66/thumb/1705716261", "parentSlug": "alice-in-borderland-2020", "grandparentSlug": "alice-in-borderland-2020", "grandparentArt": "/library/metadata/66/art/1705716261", "grandparentTheme": "/library/metadata/66/theme/1705716261", "Media": [{"id": 119534, "duration": 11558112, "bitrate": 25025, "width": 3840, "height": 2072, "aspectRatio": 1.85, "audioProfile": "dts", "audioChannels": 6, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "optimizedForStreaming": 1, "has64bitOffsets": false, "Part": [{"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "1", "Stream": [{"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}]}]}], "Genre": [], "Country": [{"tag": "United States of America"}], "Director": [{"tag": "James Cameron"}, {"tag": "James Cameron"}, {"tag": "James Cameron"}], "Writer": [{"tag": "James Cameron"}], "Collection": [{"tag": "Working NL Subs"}, {"tag": "Working NL Subs"}], "Role": [{"id": 294129, "filter": "actor=294129", "thumb": "https://metadata-static.plex.tv/2/people/27b85844536c39f3f9ac943aaad46608.jpg", "tag": "Mike Smith", "tagKey": "668e7e7b22bcad9064350c91", "role": "Self"}, {"id": 294129, "filter": "actor=294129", "thumb": "https://metadata-static.plex.tv/2/people/27b85844536c39f3f9ac943aaad46608.jpg", "tag": "Mike Smith", "tagKey": "668e7e7b22bcad9064350c91", "role": "Self"}, {"id": 294129, "filter": "actor=294129", "thumb": "https://metadata-static.plex.tv/2/people/27b85844536c39f3f9ac943aaad46608.jpg", "tag": "Mike Smith", "tagKey": "668e7e7b22bcad9064350c91", "role": "Self"}], "Guid": [{"id": "imdb://tt13015952"}], "UltraBlurColors": {"topLeft": "11333b", "topRight": "0a232d", "bottomRight": "73958", "bottomLeft": "1f5066"}, "Rating": [], "Image": [{"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}], "titleSort": "Whale", "viewCount": 1, "lastViewedAt": 1682752242, "originalTitle": "映画 ブラッククローバー 魔法帝の剣", "viewOffset": 5222500, "skipCount": 1, "index": 1, "theme": "/library/metadata/1/theme/1705636920", "leafCount": 14, "viewedLeafCount": 0, "childCount": 1, "hasPremiumExtras": "1", "hasPremiumPrimaryExtra": "1", "parentRatingKey": "66", "parentGuid": "plex://show/5d9c081b170e24001f2a7be4", "parentStudio": "UCP", "parentKey": "/library/metadata/66", "parentTitle": "Caprica", "parentIndex": 1, "parentYear": 2010, "parentThumb": "/library/metadata/66/thumb/1705716261", "parentTheme": "/library/metadata/66/theme/1705716261"}], "Meta": {"Type": [{"key": "/library/sections/2/all?type=2", "type": "show", "title": "TV Shows", "active": false, "Filter": [], "Sort": [], "Field": [{"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}]}, {"key": "/library/sections/2/all?type=2", "type": "show", "title": "TV Shows", "active": false, "Filter": [{"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter"}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter"}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter"}], "Sort": [], "Field": [{"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}]}], "FieldType": [{"type": "tag", "Operator": [{"key": "=", "title": "is"}]}, {"type": "tag", "Operator": [{"key": "=", "title": "is"}, {"key": "=", "title": "is"}]}, {"type": "tag", "Operator": [{"key": "=", "title": "is"}, {"key": "=", "title": "is"}]}]}}} "400": application/json: {"errors": [{"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}]} "401": @@ -2470,3 +2579,34 @@ examples: application/json: {"errors": []} "401": application/json: {"errors": []} + get-recently-added: + speakeasy-default-get-recently-added: + parameters: + query: + contentDirectoryID: 470161 + sectionID: 2 + type: 2 + includeMeta: 1 + X-Plex-Container-Start: 0 + X-Plex-Container-Size: 50 + responses: + "200": + application/json: {"MediaContainer": {"size": 50, "identifier": "com.plexapp.plugins.library", "Meta": {"Type": [{"key": "/library/sections/2/all?type=2", "type": "show", "title": "TV Shows", "active": false, "Filter": [{"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter"}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter"}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter"}], "Sort": [{"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}], "Field": [{"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}]}, {"key": "/library/sections/2/all?type=2", "type": "show", "title": "TV Shows", "active": false, "Filter": [{"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter"}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter"}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter"}], "Sort": [{"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}, {"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}, {"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}], "Field": [{"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}]}, {"key": "/library/sections/2/all?type=2", "type": "show", "title": "TV Shows", "active": false, "Filter": [{"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter"}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter"}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter"}], "Sort": [{"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}, {"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}], "Field": [{"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}]}], "FieldType": [{"type": "tag", "Operator": [{"key": "=", "title": "is"}]}, {"type": "tag", "Operator": []}, {"type": "tag", "Operator": []}]}, "Metadata": [{"ratingKey": "58683", "key": "/library/metadata/58683", "guid": "plex://movie/5d7768ba96b655001fdc0408", "studio": "20th Century Studios", "skipChildren": false, "librarySectionID": 1, "librarySectionTitle": "Movies", "librarySectionKey": "/library/sections/1", "type": "movie", "title": "Avatar: The Way of Water", "slug": "4-for-texas", "contentRating": "PG-13", "summary": "Jake Sully lives with his newfound family formed on the extrasolar moon Pandora. Once a familiar threat returns to finish what was previously started, Jake must work with Neytiri and the army of the Na'vi race to protect their home.", "rating": 7.6, "audienceRating": 9.2, "year": 2022, "seasonCount": 2022, "tagline": "Return to Pandora.", "flattenSeasons": "1", "showOrdering": "dvd", "thumb": "/library/metadata/58683/thumb/1703239236", "art": "/library/metadata/58683/art/1703239236", "banner": "/library/metadata/58683/banner/1703239236", "duration": 11558112, "originallyAvailableAt": "2022-12-14T00:00:00Z", "addedAt": 1556281940, "updatedAt": 1556281940, "audienceRatingImage": "rottentomatoes://image.rating.upright", "chapterSource": "media", "primaryExtraKey": "/library/metadata/58684", "ratingImage": "rottentomatoes://image.rating.ripe", "grandparentRatingKey": "66", "grandparentGuid": "plex://show/5d9c081b170e24001f2a7be4", "grandparentKey": "/library/metadata/66", "grandparentTitle": "Caprica", "grandparentThumb": "/library/metadata/66/thumb/1705716261", "parentSlug": "alice-in-borderland-2020", "grandparentSlug": "alice-in-borderland-2020", "grandparentArt": "/library/metadata/66/art/1705716261", "grandparentTheme": "/library/metadata/66/theme/1705716261", "Media": [{"id": 119534, "duration": 11558112, "bitrate": 25025, "width": 3840, "height": 2072, "aspectRatio": 1.85, "audioProfile": "dts", "audioChannels": 6, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "optimizedForStreaming": 1, "has64bitOffsets": false, "Part": [{"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "1", "Stream": [{"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}]}, {"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "1", "Stream": []}]}], "Genre": [{"tag": "Adventure"}], "Country": [], "Director": [{"tag": "James Cameron"}, {"tag": "James Cameron"}], "Writer": [], "Collection": [], "Role": [{"id": 294129, "filter": "actor=294129", "thumb": "https://metadata-static.plex.tv/2/people/27b85844536c39f3f9ac943aaad46608.jpg", "tag": "Mike Smith", "tagKey": "668e7e7b22bcad9064350c91", "role": "Self"}, {"id": 294129, "filter": "actor=294129", "thumb": "https://metadata-static.plex.tv/2/people/27b85844536c39f3f9ac943aaad46608.jpg", "tag": "Mike Smith", "tagKey": "668e7e7b22bcad9064350c91", "role": "Self"}, {"id": 294129, "filter": "actor=294129", "thumb": "https://metadata-static.plex.tv/2/people/27b85844536c39f3f9ac943aaad46608.jpg", "tag": "Mike Smith", "tagKey": "668e7e7b22bcad9064350c91", "role": "Self"}], "Guid": [{"id": "imdb://tt13015952"}, {"id": "imdb://tt13015952"}, {"id": "imdb://tt13015952"}], "UltraBlurColors": {"topLeft": "11333b", "topRight": "0a232d", "bottomRight": "73958", "bottomLeft": "1f5066"}, "Rating": [], "Image": [{"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}, {"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}, {"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}], "titleSort": "Whale", "viewCount": 1, "lastViewedAt": 1682752242, "originalTitle": "映画 ブラッククローバー 魔法帝の剣", "viewOffset": 5222500, "skipCount": 1, "index": 1, "theme": "/library/metadata/1/theme/1705636920", "leafCount": 14, "viewedLeafCount": 0, "childCount": 1, "hasPremiumExtras": "1", "hasPremiumPrimaryExtra": "1", "parentRatingKey": "66", "parentGuid": "plex://show/5d9c081b170e24001f2a7be4", "parentStudio": "UCP", "parentKey": "/library/metadata/66", "parentTitle": "Caprica", "parentIndex": 1, "parentYear": 2010, "parentThumb": "/library/metadata/66/thumb/1705716261", "parentTheme": "/library/metadata/66/theme/1705716261"}]}} + get-recently-added-library: + speakeasy-default-get-recently-added-library: + parameters: + query: + contentDirectoryID: 2 + pinnedContentDirectoryID: [3, 5, 7, 13, 12, 1, 6, 14, 2, 10, 16, 17] + sectionID: 2 + type: 2 + includeMeta: 1 + X-Plex-Container-Start: 0 + X-Plex-Container-Size: 50 + responses: + "200": + application/json: {"MediaContainer": {"Type": [{"key": "/library/sections/2/all?type=2", "type": "show", "title": "TV Shows", "active": false, "Filter": [{"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter"}], "Sort": [{"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}, {"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}, {"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}], "Field": [{"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}]}, {"key": "/library/sections/2/all?type=2", "type": "show", "title": "TV Shows", "active": false, "Filter": [{"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter"}], "Sort": [{"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}, {"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}, {"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}], "Field": [{"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}]}], "FieldType": [], "size": 50, "identifier": "com.plexapp.plugins.library", "mediaTagPrefix": "/system/bundle/media/flags/", "mediaTagVersion": 1680021154, "Metadata": [{"librarySectionID": 1, "librarySectionTitle": "Movies", "librarySectionUUID": "322a231a-b7f7-49f5-920f-14c61199cd30", "ratingKey": 59398, "key": "/library/metadata/59398", "guid": "plex://movie/5e161a83bea6ac004126e148", "studio": "Marvel Studios", "type": "movie", "title": "Ant-Man and the Wasp: Quantumania", "contentRating": "PG-13", "summary": "Scott Lang and Hope Van Dyne along with Hank Pym and Janet Van Dyne explore the Quantum Realm where they interact with strange creatures and embark on an adventure that goes beyond the limits of what they thought was possible.", "rating": 4.7, "audienceRating": 8.3, "year": 2023, "tagline": "Witness the beginning of a new dynasty.", "thumb": "/library/metadata/59398/thumb/1681888010", "art": "/library/metadata/59398/art/1681888010", "duration": 7474422, "originallyAvailableAt": "2023-02-15T00:00:00Z", "addedAt": 1681803215, "updatedAt": 1681888010, "audienceRatingImage": "rottentomatoes://image.rating.upright", "chapterSource": "media", "primaryExtraKey": "/library/metadata/59399", "ratingImage": "rottentomatoes://image.rating.rotten", "Media": [{"id": 120345, "duration": 7474422, "bitrate": 3623, "width": 1920, "height": 804, "aspectRatio": 2.35, "audioChannels": 6, "audioCodec": "ac3", "videoCodec": "h264", "videoResolution": 1080, "container": "mp4", "videoFrameRate": "24p", "optimizedForStreaming": 0, "videoProfile": "high", "Part": []}], "Genre": [], "Director": [{"tag": "Peyton Reed"}], "Writer": [], "Country": [], "Role": [{"tag": "Paul Rudd"}, {"tag": "Paul Rudd"}, {"tag": "Paul Rudd"}]}]}} + "400": + application/json: {"errors": [{"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}]} diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index 0ea8ce7..9401203 100644 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -12,7 +12,7 @@ generation: auth: oAuth2ClientCredentialsEnabled: true csharp: - version: 0.7.1 + version: 0.8.0 additionalDependencies: [] author: LukeHagar clientServerStatusCodesAsErrors: true diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index 6b66594..9c5a2d1 100644 --- a/.speakeasy/workflow.lock +++ b/.speakeasy/workflow.lock @@ -1,4 +1,4 @@ -speakeasyVersion: 1.401.2 +speakeasyVersion: 1.402.14 sources: my-source: sourceNamespace: my-source @@ -16,8 +16,8 @@ sources: - main plexapi: sourceNamespace: plexapi - sourceRevisionDigest: sha256:fc6eebe661455e23b1aa352a91c14ef773fa72331330ec4caeddc2c460dc16bb - sourceBlobDigest: sha256:2e81e86c83d7f4e8842efca0d43a2db84a4932534c8439e3737e1f65c873f855 + sourceRevisionDigest: sha256:ef43acbcbd2589d257d0c898ba6d401c7afc9070b9ab1bd628af2b4db1413560 + sourceBlobDigest: sha256:801d5aa55d92b23efb9310aa60fab4fd00987069401931ce4a15ee80effb09e1 tags: - latest - main @@ -25,10 +25,10 @@ targets: plexcsharp: source: plexapi sourceNamespace: plexapi - sourceRevisionDigest: sha256:fc6eebe661455e23b1aa352a91c14ef773fa72331330ec4caeddc2c460dc16bb - sourceBlobDigest: sha256:2e81e86c83d7f4e8842efca0d43a2db84a4932534c8439e3737e1f65c873f855 + sourceRevisionDigest: sha256:ef43acbcbd2589d257d0c898ba6d401c7afc9070b9ab1bd628af2b4db1413560 + sourceBlobDigest: sha256:801d5aa55d92b23efb9310aa60fab4fd00987069401931ce4a15ee80effb09e1 codeSamplesNamespace: code-samples-csharp-plexcsharp - codeSamplesRevisionDigest: sha256:73fbbcf9508835f4d05e9b21d6ae3a250052b663c2759008884a6d0d826a50fd + codeSamplesRevisionDigest: sha256:3a4987f336fc053a5de8964124876ab5be7b353bfb85c09868375c83a49de0a8 workflow: workflowVersion: 1.0.0 speakeasyVersion: latest diff --git a/LukeHagar/PlexAPI/SDK/Activities.cs b/LukeHagar/PlexAPI/SDK/Activities.cs index 2799ab2..258a4aa 100644 --- a/LukeHagar/PlexAPI/SDK/Activities.cs +++ b/LukeHagar/PlexAPI/SDK/Activities.cs @@ -74,10 +74,10 @@ namespace LukeHagar.PlexAPI.SDK { public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.7.1"; - private const string _sdkGenVersion = "2.421.3"; + private const string _sdkVersion = "0.8.0"; + private const string _sdkGenVersion = "2.422.22"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.7.1 2.421.3 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.8.0 2.422.22 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; diff --git a/LukeHagar/PlexAPI/SDK/Authentication.cs b/LukeHagar/PlexAPI/SDK/Authentication.cs index 00f96f3..a4ff971 100644 --- a/LukeHagar/PlexAPI/SDK/Authentication.cs +++ b/LukeHagar/PlexAPI/SDK/Authentication.cs @@ -95,10 +95,10 @@ namespace LukeHagar.PlexAPI.SDK }; public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.7.1"; - private const string _sdkGenVersion = "2.421.3"; + private const string _sdkVersion = "0.8.0"; + private const string _sdkGenVersion = "2.422.22"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.7.1 2.421.3 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.8.0 2.422.22 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; diff --git a/LukeHagar/PlexAPI/SDK/Butler.cs b/LukeHagar/PlexAPI/SDK/Butler.cs index 58bd779..cd47f28 100644 --- a/LukeHagar/PlexAPI/SDK/Butler.cs +++ b/LukeHagar/PlexAPI/SDK/Butler.cs @@ -101,10 +101,10 @@ namespace LukeHagar.PlexAPI.SDK { public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.7.1"; - private const string _sdkGenVersion = "2.421.3"; + private const string _sdkVersion = "0.8.0"; + private const string _sdkGenVersion = "2.422.22"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.7.1 2.421.3 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.8.0 2.422.22 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; diff --git a/LukeHagar/PlexAPI/SDK/Hubs.cs b/LukeHagar/PlexAPI/SDK/Hubs.cs index 6e78c74..0c2ede2 100644 --- a/LukeHagar/PlexAPI/SDK/Hubs.cs +++ b/LukeHagar/PlexAPI/SDK/Hubs.cs @@ -41,6 +41,16 @@ namespace LukeHagar.PlexAPI.SDK /// Task GetGlobalHubsAsync(double? count = null, OnlyTransient? onlyTransient = null); + /// + /// Get Recently Added + /// + /// + /// This endpoint will return the recently added content.
+ /// + ///
+ ///
+ Task GetRecentlyAddedAsync(GetRecentlyAddedRequest request); + /// /// Get library specific hubs /// @@ -63,10 +73,10 @@ namespace LukeHagar.PlexAPI.SDK { public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.7.1"; - private const string _sdkGenVersion = "2.421.3"; + private const string _sdkVersion = "0.8.0"; + private const string _sdkGenVersion = "2.422.22"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.7.1 2.421.3 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.8.0 2.422.22 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; @@ -180,6 +190,80 @@ namespace LukeHagar.PlexAPI.SDK throw new Models.Errors.SDKException("Unknown status code received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse); } + public async Task GetRecentlyAddedAsync(GetRecentlyAddedRequest request) + { + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/hubs/home/recentlyAdded", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("get-recently-added", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await _client.SendAsync(httpRequest); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new GetRecentlyAddedResponse() + { + StatusCode = responseStatusCode, + ContentType = contentType, + RawResponse = httpResponse + }; + response.Object = obj; + return response; + } + + throw new Models.Errors.SDKException("Unknown content type received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse); + } + else if(responseStatusCode == 400 || responseStatusCode == 401 || responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.SDKException("API error occurred", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse); + } + + throw new Models.Errors.SDKException("Unknown status code received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse); + } + public async Task GetLibraryHubsAsync(double sectionId, double? count = null, QueryParamOnlyTransient? onlyTransient = null) { var request = new GetLibraryHubsRequest() diff --git a/LukeHagar/PlexAPI/SDK/Library.cs b/LukeHagar/PlexAPI/SDK/Library.cs index bd85304..c7aa595 100644 --- a/LukeHagar/PlexAPI/SDK/Library.cs +++ b/LukeHagar/PlexAPI/SDK/Library.cs @@ -49,7 +49,7 @@ namespace LukeHagar.PlexAPI.SDK /// /// /// - Task GetRecentlyAddedAsync(int? xPlexContainerStart = null, int? xPlexContainerSize = null); + Task GetRecentlyAddedLibraryAsync(GetRecentlyAddedLibraryRequest request); /// /// Get All Libraries @@ -187,7 +187,7 @@ namespace LukeHagar.PlexAPI.SDK /// /// /// - Task GetSearchLibraryAsync(int sectionKey, QueryParamType type); + Task GetSearchLibraryAsync(int sectionKey, GetSearchLibraryQueryParamType type); /// /// Get Metadata by RatingKey @@ -241,10 +241,10 @@ namespace LukeHagar.PlexAPI.SDK { public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.7.1"; - private const string _sdkGenVersion = "2.421.3"; + private const string _sdkVersion = "0.8.0"; + private const string _sdkGenVersion = "2.422.22"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.7.1 2.421.3 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.8.0 2.422.22 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; @@ -350,13 +350,8 @@ namespace LukeHagar.PlexAPI.SDK throw new Models.Errors.SDKException("Unknown status code received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse); } - public async Task GetRecentlyAddedAsync(int? xPlexContainerStart = null, int? xPlexContainerSize = null) + public async Task GetRecentlyAddedLibraryAsync(GetRecentlyAddedLibraryRequest request) { - var request = new GetRecentlyAddedRequest() - { - XPlexContainerStart = xPlexContainerStart, - XPlexContainerSize = xPlexContainerSize, - }; string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); var urlString = URLBuilder.Build(baseUrl, "/library/recentlyAdded", request); @@ -368,7 +363,7 @@ namespace LukeHagar.PlexAPI.SDK httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); } - var hookCtx = new HookContext("getRecentlyAdded", null, _securitySource); + var hookCtx = new HookContext("get-recently-added-library", null, _securitySource); httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); @@ -408,8 +403,8 @@ namespace LukeHagar.PlexAPI.SDK { if(Utilities.IsContentTypeMatch("application/json", contentType)) { - var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); - var response = new GetRecentlyAddedResponse() + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new GetRecentlyAddedLibraryResponse() { StatusCode = responseStatusCode, ContentType = contentType, @@ -425,7 +420,7 @@ namespace LukeHagar.PlexAPI.SDK { if(Utilities.IsContentTypeMatch("application/json", contentType)) { - var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); obj!.RawResponse = httpResponse; throw obj!; } @@ -436,7 +431,7 @@ namespace LukeHagar.PlexAPI.SDK { if(Utilities.IsContentTypeMatch("application/json", contentType)) { - var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Include); + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); obj!.RawResponse = httpResponse; throw obj!; } @@ -930,7 +925,7 @@ namespace LukeHagar.PlexAPI.SDK throw new Models.Errors.SDKException("Unknown status code received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse); } - public async Task GetSearchLibraryAsync(int sectionKey, QueryParamType type) + public async Task GetSearchLibraryAsync(int sectionKey, GetSearchLibraryQueryParamType type) { var request = new GetSearchLibraryRequest() { diff --git a/LukeHagar/PlexAPI/SDK/Log.cs b/LukeHagar/PlexAPI/SDK/Log.cs index ee44108..1294dfc 100644 --- a/LukeHagar/PlexAPI/SDK/Log.cs +++ b/LukeHagar/PlexAPI/SDK/Log.cs @@ -94,10 +94,10 @@ namespace LukeHagar.PlexAPI.SDK { public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.7.1"; - private const string _sdkGenVersion = "2.421.3"; + private const string _sdkVersion = "0.8.0"; + private const string _sdkGenVersion = "2.422.22"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.7.1 2.421.3 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.8.0 2.422.22 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; diff --git a/LukeHagar/PlexAPI/SDK/LukeHagar.PlexAPI.SDK.csproj b/LukeHagar/PlexAPI/SDK/LukeHagar.PlexAPI.SDK.csproj index c229447..6cbc42b 100644 --- a/LukeHagar/PlexAPI/SDK/LukeHagar.PlexAPI.SDK.csproj +++ b/LukeHagar/PlexAPI/SDK/LukeHagar.PlexAPI.SDK.csproj @@ -3,7 +3,7 @@ true LukeHagar.PlexAPI.SDK - 0.7.1 + 0.8.0 net8.0 LukeHagar Copyright (c) LukeHagar 2024 diff --git a/LukeHagar/PlexAPI/SDK/Media.cs b/LukeHagar/PlexAPI/SDK/Media.cs index 36267ea..9e2bec7 100644 --- a/LukeHagar/PlexAPI/SDK/Media.cs +++ b/LukeHagar/PlexAPI/SDK/Media.cs @@ -90,10 +90,10 @@ namespace LukeHagar.PlexAPI.SDK { public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.7.1"; - private const string _sdkGenVersion = "2.421.3"; + private const string _sdkVersion = "0.8.0"; + private const string _sdkGenVersion = "2.422.22"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.7.1 2.421.3 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.8.0 2.422.22 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; diff --git a/LukeHagar/PlexAPI/SDK/Models/Errors/GetRecentlyAddedBadRequest.cs b/LukeHagar/PlexAPI/SDK/Models/Errors/GetRecentlyAddedLibraryBadRequest.cs similarity index 88% rename from LukeHagar/PlexAPI/SDK/Models/Errors/GetRecentlyAddedBadRequest.cs rename to LukeHagar/PlexAPI/SDK/Models/Errors/GetRecentlyAddedLibraryBadRequest.cs index 432c4f4..156b36e 100644 --- a/LukeHagar/PlexAPI/SDK/Models/Errors/GetRecentlyAddedBadRequest.cs +++ b/LukeHagar/PlexAPI/SDK/Models/Errors/GetRecentlyAddedLibraryBadRequest.cs @@ -19,11 +19,11 @@ namespace LukeHagar.PlexAPI.SDK.Models.Errors /// /// Bad Request - A parameter was not specified, or was specified incorrectly. /// - public class GetRecentlyAddedBadRequest : Exception + public class GetRecentlyAddedLibraryBadRequest : Exception { [JsonProperty("errors")] - public List? Errors { get; set; } + public List? Errors { get; set; } /// /// Raw HTTP response; suitable for custom response parsing diff --git a/LukeHagar/PlexAPI/SDK/Models/Errors/GetRecentlyAddedErrors.cs b/LukeHagar/PlexAPI/SDK/Models/Errors/GetRecentlyAddedLibraryLibraryErrors.cs similarity index 93% rename from LukeHagar/PlexAPI/SDK/Models/Errors/GetRecentlyAddedErrors.cs rename to LukeHagar/PlexAPI/SDK/Models/Errors/GetRecentlyAddedLibraryLibraryErrors.cs index b3a2755..ac38ae5 100644 --- a/LukeHagar/PlexAPI/SDK/Models/Errors/GetRecentlyAddedErrors.cs +++ b/LukeHagar/PlexAPI/SDK/Models/Errors/GetRecentlyAddedLibraryLibraryErrors.cs @@ -12,7 +12,7 @@ namespace LukeHagar.PlexAPI.SDK.Models.Errors using LukeHagar.PlexAPI.SDK.Utils; using Newtonsoft.Json; - public class GetRecentlyAddedErrors + public class GetRecentlyAddedLibraryLibraryErrors { [JsonProperty("code")] diff --git a/LukeHagar/PlexAPI/SDK/Models/Errors/GetRecentlyAddedUnauthorized.cs b/LukeHagar/PlexAPI/SDK/Models/Errors/GetRecentlyAddedLibraryUnauthorized.cs similarity index 87% rename from LukeHagar/PlexAPI/SDK/Models/Errors/GetRecentlyAddedUnauthorized.cs rename to LukeHagar/PlexAPI/SDK/Models/Errors/GetRecentlyAddedLibraryUnauthorized.cs index d55daaa..2548342 100644 --- a/LukeHagar/PlexAPI/SDK/Models/Errors/GetRecentlyAddedUnauthorized.cs +++ b/LukeHagar/PlexAPI/SDK/Models/Errors/GetRecentlyAddedLibraryUnauthorized.cs @@ -19,11 +19,11 @@ namespace LukeHagar.PlexAPI.SDK.Models.Errors /// /// Unauthorized - Returned if the X-Plex-Token is missing from the header or query. /// - public class GetRecentlyAddedUnauthorized : Exception + public class GetRecentlyAddedLibraryUnauthorized : Exception { [JsonProperty("errors")] - public List? Errors { get; set; } + public List? Errors { get; set; } /// /// Raw HTTP response; suitable for custom response parsing diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/Field.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/Field.cs index 447d490..a73fb65 100644 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/Field.cs +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/Field.cs @@ -16,13 +16,13 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests { [JsonProperty("key")] - public string? Key { get; set; } + public string Key { get; set; } = default!; [JsonProperty("title")] - public string? Title { get; set; } + public string Title { get; set; } = default!; [JsonProperty("type")] - public string? Type { get; set; } + public string Type { get; set; } = default!; [JsonProperty("subType")] public string? SubType { get; set; } diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/FieldType.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/FieldType.cs index ea00be3..36cebfe 100644 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/FieldType.cs +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/FieldType.cs @@ -18,9 +18,9 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests { [JsonProperty("type")] - public string? Type { get; set; } + public string Type { get; set; } = default!; [JsonProperty("Operator")] - public List? Operator { get; set; } + public List Operator { get; set; } = default!; } } \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetAllLibrariesDirectory.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetAllLibrariesDirectory.cs index 8d4b26c..429deae 100644 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/GetAllLibrariesDirectory.cs +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetAllLibrariesDirectory.cs @@ -80,8 +80,11 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests [JsonProperty("directory")] public bool Directory { get; set; } = default!; + /// + /// Unix epoch datetime in seconds + /// [JsonProperty("contentChangedAt")] - public int ContentChangedAt { get; set; } = default!; + public long ContentChangedAt { get; set; } = default!; [JsonProperty("hidden")] public int Hidden { get; set; } = default!; diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryDetailsField.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryDetailsField.cs new file mode 100644 index 0000000..cb828c5 --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryDetailsField.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + + public class GetLibraryDetailsField + { + + [JsonProperty("key")] + public string? Key { get; set; } + + [JsonProperty("title")] + public string? Title { get; set; } + + [JsonProperty("type")] + public string? Type { get; set; } + + [JsonProperty("subType")] + public string? SubType { get; set; } + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryDetailsFieldType.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryDetailsFieldType.cs new file mode 100644 index 0000000..2935114 --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryDetailsFieldType.cs @@ -0,0 +1,26 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Models.Requests; + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + public class GetLibraryDetailsFieldType + { + + [JsonProperty("type")] + public string? Type { get; set; } + + [JsonProperty("Operator")] + public List? Operator { get; set; } + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryDetailsMediaContainer.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryDetailsMediaContainer.cs index f1c286c..740c797 100644 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryDetailsMediaContainer.cs +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryDetailsMediaContainer.cs @@ -60,6 +60,6 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests public List? Type { get; set; } [JsonProperty("FieldType")] - public List? FieldType { get; set; } + public List? FieldType { get; set; } } } \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryDetailsOperator.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryDetailsOperator.cs new file mode 100644 index 0000000..69c13ab --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryDetailsOperator.cs @@ -0,0 +1,24 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + + public class GetLibraryDetailsOperator + { + + [JsonProperty("key")] + public string? Key { get; set; } + + [JsonProperty("title")] + public string? Title { get; set; } + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryDetailsSort.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryDetailsSort.cs new file mode 100644 index 0000000..b2a6830 --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryDetailsSort.cs @@ -0,0 +1,36 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + + public class GetLibraryDetailsSort + { + + [JsonProperty("default")] + public string? Default { get; set; } + + [JsonProperty("defaultDirection")] + public string? DefaultDirection { get; set; } + + [JsonProperty("descKey")] + public string? DescKey { get; set; } + + [JsonProperty("firstCharacterKey")] + public string? FirstCharacterKey { get; set; } + + [JsonProperty("key")] + public string? Key { get; set; } + + [JsonProperty("title")] + public string? Title { get; set; } + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryDetailsType.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryDetailsType.cs index 6c54dfb..eddc3c5 100644 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryDetailsType.cs +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryDetailsType.cs @@ -33,9 +33,9 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests public List? Filter { get; set; } [JsonProperty("Sort")] - public List? Sort { get; set; } + public List? Sort { get; set; } [JsonProperty("Field")] - public List? Field { get; set; } + public List? Field { get; set; } } } \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsActiveDirection.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsActiveDirection.cs new file mode 100644 index 0000000..38aecd7 --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsActiveDirection.cs @@ -0,0 +1,64 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// The direction of the sort. Can be either `asc` or `desc`.
+ /// + /// + /// + /// + ///
+ public enum GetLibraryItemsActiveDirection + { + [JsonProperty("asc")] + Ascending, + [JsonProperty("desc")] + Descending, + } + + public static class GetLibraryItemsActiveDirectionExtension + { + public static string Value(this GetLibraryItemsActiveDirection value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static GetLibraryItemsActiveDirection ToEnum(this string value) + { + foreach(var field in typeof(GetLibraryItemsActiveDirection).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is GetLibraryItemsActiveDirection) + { + return (GetLibraryItemsActiveDirection)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum GetLibraryItemsActiveDirection"); + } + } + +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsCollection.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsCollection.cs new file mode 100644 index 0000000..06a92ea --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsCollection.cs @@ -0,0 +1,21 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + + public class GetLibraryItemsCollection + { + + [JsonProperty("tag")] + public string? Tag { get; set; } + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsDefaultDirection.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsDefaultDirection.cs new file mode 100644 index 0000000..0fb2f11 --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsDefaultDirection.cs @@ -0,0 +1,64 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// The direction of the sort. Can be either `asc` or `desc`.
+ /// + /// + /// + /// + ///
+ public enum GetLibraryItemsDefaultDirection + { + [JsonProperty("asc")] + Ascending, + [JsonProperty("desc")] + Descending, + } + + public static class GetLibraryItemsDefaultDirectionExtension + { + public static string Value(this GetLibraryItemsDefaultDirection value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static GetLibraryItemsDefaultDirection ToEnum(this string value) + { + foreach(var field in typeof(GetLibraryItemsDefaultDirection).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is GetLibraryItemsDefaultDirection) + { + return (GetLibraryItemsDefaultDirection)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum GetLibraryItemsDefaultDirection"); + } + } + +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsFlattenSeasons.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsFlattenSeasons.cs new file mode 100644 index 0000000..bbb9377 --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsFlattenSeasons.cs @@ -0,0 +1,57 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + using System; + + public enum GetLibraryItemsFlattenSeasons + { + [JsonProperty("0")] + False, + [JsonProperty("1")] + True, + } + + public static class GetLibraryItemsFlattenSeasonsExtension + { + public static string Value(this GetLibraryItemsFlattenSeasons value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static GetLibraryItemsFlattenSeasons ToEnum(this string value) + { + foreach(var field in typeof(GetLibraryItemsFlattenSeasons).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is GetLibraryItemsFlattenSeasons) + { + return (GetLibraryItemsFlattenSeasons)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum GetLibraryItemsFlattenSeasons"); + } + } + +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsHasThumbnail.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsHasThumbnail.cs new file mode 100644 index 0000000..6b1422d --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsHasThumbnail.cs @@ -0,0 +1,57 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + using System; + + public enum GetLibraryItemsHasThumbnail + { + [JsonProperty("0")] + False, + [JsonProperty("1")] + True, + } + + public static class GetLibraryItemsHasThumbnailExtension + { + public static string Value(this GetLibraryItemsHasThumbnail value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static GetLibraryItemsHasThumbnail ToEnum(this string value) + { + foreach(var field in typeof(GetLibraryItemsHasThumbnail).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is GetLibraryItemsHasThumbnail) + { + return (GetLibraryItemsHasThumbnail)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum GetLibraryItemsHasThumbnail"); + } + } + +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsImage.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsImage.cs index 3cb2f9c..90749b9 100644 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsImage.cs +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsImage.cs @@ -20,7 +20,7 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests public string Alt { get; set; } = default!; [JsonProperty("type")] - public GetLibraryItemsLibraryResponseType Type { get; set; } = default!; + public GetLibraryItemsLibraryResponse200Type Type { get; set; } = default!; [JsonProperty("url")] public string Url { get; set; } = default!; diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsLibraryActiveDirection.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsLibraryActiveDirection.cs new file mode 100644 index 0000000..d20ef0b --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsLibraryActiveDirection.cs @@ -0,0 +1,64 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// The direction of the sort. Can be either `asc` or `desc`.
+ /// + /// + /// + /// + ///
+ public enum GetLibraryItemsLibraryActiveDirection + { + [JsonProperty("asc")] + Ascending, + [JsonProperty("desc")] + Descending, + } + + public static class GetLibraryItemsLibraryActiveDirectionExtension + { + public static string Value(this GetLibraryItemsLibraryActiveDirection value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static GetLibraryItemsLibraryActiveDirection ToEnum(this string value) + { + foreach(var field in typeof(GetLibraryItemsLibraryActiveDirection).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is GetLibraryItemsLibraryActiveDirection) + { + return (GetLibraryItemsLibraryActiveDirection)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum GetLibraryItemsLibraryActiveDirection"); + } + } + +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsLibraryDefaultDirection.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsLibraryDefaultDirection.cs new file mode 100644 index 0000000..158f192 --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsLibraryDefaultDirection.cs @@ -0,0 +1,64 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// The direction of the sort. Can be either `asc` or `desc`.
+ /// + /// + /// + /// + ///
+ public enum GetLibraryItemsLibraryDefaultDirection + { + [JsonProperty("asc")] + Ascending, + [JsonProperty("desc")] + Descending, + } + + public static class GetLibraryItemsLibraryDefaultDirectionExtension + { + public static string Value(this GetLibraryItemsLibraryDefaultDirection value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static GetLibraryItemsLibraryDefaultDirection ToEnum(this string value) + { + foreach(var field in typeof(GetLibraryItemsLibraryDefaultDirection).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is GetLibraryItemsLibraryDefaultDirection) + { + return (GetLibraryItemsLibraryDefaultDirection)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum GetLibraryItemsLibraryDefaultDirection"); + } + } + +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsLibraryField.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsLibraryField.cs new file mode 100644 index 0000000..22b529a --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsLibraryField.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + + public class GetLibraryItemsLibraryField + { + + [JsonProperty("key")] + public string Key { get; set; } = default!; + + [JsonProperty("title")] + public string Title { get; set; } = default!; + + [JsonProperty("type")] + public string Type { get; set; } = default!; + + [JsonProperty("subType")] + public string? SubType { get; set; } + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsLibraryFieldType.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsLibraryFieldType.cs new file mode 100644 index 0000000..da0c3e1 --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsLibraryFieldType.cs @@ -0,0 +1,26 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Models.Requests; + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + public class GetLibraryItemsLibraryFieldType + { + + [JsonProperty("type")] + public string Type { get; set; } = default!; + + [JsonProperty("Operator")] + public List Operator { get; set; } = default!; + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsLibraryFilter.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsLibraryFilter.cs new file mode 100644 index 0000000..17ae910 --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsLibraryFilter.cs @@ -0,0 +1,33 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + + public class GetLibraryItemsLibraryFilter + { + + [JsonProperty("filter")] + public string Filter { get; set; } = default!; + + [JsonProperty("filterType")] + public string FilterType { get; set; } = default!; + + [JsonProperty("key")] + public string Key { get; set; } = default!; + + [JsonProperty("title")] + public string Title { get; set; } = default!; + + [JsonProperty("type")] + public string Type { get; set; } = default!; + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsLibraryOperator.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsLibraryOperator.cs new file mode 100644 index 0000000..82af17a --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsLibraryOperator.cs @@ -0,0 +1,24 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + + public class GetLibraryItemsLibraryOperator + { + + [JsonProperty("key")] + public string Key { get; set; } = default!; + + [JsonProperty("title")] + public string Title { get; set; } = default!; + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsLibraryResponse200Type.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsLibraryResponse200Type.cs new file mode 100644 index 0000000..9681606 --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsLibraryResponse200Type.cs @@ -0,0 +1,61 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + using System; + + public enum GetLibraryItemsLibraryResponse200Type + { + [JsonProperty("coverPoster")] + CoverPoster, + [JsonProperty("background")] + Background, + [JsonProperty("snapshot")] + Snapshot, + [JsonProperty("clearLogo")] + ClearLogo, + } + + public static class GetLibraryItemsLibraryResponse200TypeExtension + { + public static string Value(this GetLibraryItemsLibraryResponse200Type value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static GetLibraryItemsLibraryResponse200Type ToEnum(this string value) + { + foreach(var field in typeof(GetLibraryItemsLibraryResponse200Type).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is GetLibraryItemsLibraryResponse200Type) + { + return (GetLibraryItemsLibraryResponse200Type)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum GetLibraryItemsLibraryResponse200Type"); + } + } + +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsLibraryResponseType.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsLibraryResponseType.cs index 6aad169..8e30383 100644 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsLibraryResponseType.cs +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsLibraryResponseType.cs @@ -9,53 +9,33 @@ #nullable enable namespace LukeHagar.PlexAPI.SDK.Models.Requests { + using LukeHagar.PlexAPI.SDK.Models.Requests; using LukeHagar.PlexAPI.SDK.Utils; using Newtonsoft.Json; - using System; + using System.Collections.Generic; - public enum GetLibraryItemsLibraryResponseType + public class GetLibraryItemsLibraryResponseType { - [JsonProperty("coverPoster")] - CoverPoster, - [JsonProperty("background")] - Background, - [JsonProperty("snapshot")] - Snapshot, - [JsonProperty("clearLogo")] - ClearLogo, + + [JsonProperty("key")] + public string Key { get; set; } = default!; + + [JsonProperty("type")] + public string Type { get; set; } = default!; + + [JsonProperty("title")] + public string Title { get; set; } = default!; + + [JsonProperty("active")] + public bool Active { get; set; } = default!; + + [JsonProperty("Filter")] + public List? Filter { get; set; } + + [JsonProperty("Sort")] + public List? Sort { get; set; } + + [JsonProperty("Field")] + public List? Field { get; set; } } - - public static class GetLibraryItemsLibraryResponseTypeExtension - { - public static string Value(this GetLibraryItemsLibraryResponseType value) - { - return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); - } - - public static GetLibraryItemsLibraryResponseType ToEnum(this string value) - { - foreach(var field in typeof(GetLibraryItemsLibraryResponseType).GetFields()) - { - var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); - if (attributes.Length == 0) - { - continue; - } - - var attribute = attributes[0] as JsonPropertyAttribute; - if (attribute != null && attribute.PropertyName == value) - { - var enumVal = field.GetValue(null); - - if (enumVal is GetLibraryItemsLibraryResponseType) - { - return (GetLibraryItemsLibraryResponseType)enumVal; - } - } - } - - throw new Exception($"Unknown value {value} for enum GetLibraryItemsLibraryResponseType"); - } - } - } \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsLibrarySort.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsLibrarySort.cs new file mode 100644 index 0000000..d1d7028 --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsLibrarySort.cs @@ -0,0 +1,57 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Models.Requests; + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + + public class GetLibraryItemsLibrarySort + { + + [JsonProperty("default")] + public string? Default { get; set; } + + [JsonProperty("active")] + public bool? Active { get; set; } + + /// + /// The direction of the sort. Can be either `asc` or `desc`.
+ /// + /// + /// + /// + ///
+ [JsonProperty("activeDirection")] + public GetLibraryItemsLibraryActiveDirection? ActiveDirection { get; set; } = LukeHagar.PlexAPI.SDK.Models.Requests.GetLibraryItemsLibraryActiveDirection.Ascending; + + /// + /// The direction of the sort. Can be either `asc` or `desc`.
+ /// + /// + /// + /// + ///
+ [JsonProperty("defaultDirection")] + public GetLibraryItemsLibraryDefaultDirection? DefaultDirection { get; set; } = LukeHagar.PlexAPI.SDK.Models.Requests.GetLibraryItemsLibraryDefaultDirection.Ascending; + + [JsonProperty("descKey")] + public string? DescKey { get; set; } + + [JsonProperty("firstCharacterKey")] + public string? FirstCharacterKey { get; set; } + + [JsonProperty("key")] + public string Key { get; set; } = default!; + + [JsonProperty("title")] + public string Title { get; set; } = default!; + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsLibraryType.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsLibraryType.cs index 47c2ae9..17f6d24 100644 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsLibraryType.cs +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsLibraryType.cs @@ -9,33 +9,60 @@ #nullable enable namespace LukeHagar.PlexAPI.SDK.Models.Requests { - using LukeHagar.PlexAPI.SDK.Models.Requests; using LukeHagar.PlexAPI.SDK.Utils; using Newtonsoft.Json; - using System.Collections.Generic; + using System; - public class GetLibraryItemsLibraryType + /// + /// The type of media content
+ /// + /// + /// + /// + ///
+ public enum GetLibraryItemsLibraryType { - - [JsonProperty("key")] - public string Key { get; set; } = default!; - - [JsonProperty("type")] - public string Type { get; set; } = default!; - - [JsonProperty("title")] - public string Title { get; set; } = default!; - - [JsonProperty("active")] - public bool Active { get; set; } = default!; - - [JsonProperty("Filter")] - public List? Filter { get; set; } - - [JsonProperty("Sort")] - public List? Sort { get; set; } - - [JsonProperty("Field")] - public List? Field { get; set; } + [JsonProperty("movie")] + Movie, + [JsonProperty("show")] + TvShow, + [JsonProperty("season")] + Season, + [JsonProperty("episode")] + Episode, } + + public static class GetLibraryItemsLibraryTypeExtension + { + public static string Value(this GetLibraryItemsLibraryType value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static GetLibraryItemsLibraryType ToEnum(this string value) + { + foreach(var field in typeof(GetLibraryItemsLibraryType).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is GetLibraryItemsLibraryType) + { + return (GetLibraryItemsLibraryType)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum GetLibraryItemsLibraryType"); + } + } + } \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsMedia.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsMedia.cs index 4b645d1..35d2634 100644 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsMedia.cs +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsMedia.cs @@ -62,6 +62,12 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests [JsonProperty("hasVoiceActivity")] public bool? HasVoiceActivity { get; set; } + [JsonProperty("optimizedForStreaming")] + public GetLibraryItemsOptimizedForStreaming? OptimizedForStreaming { get; set; } = LukeHagar.PlexAPI.SDK.Models.Requests.GetLibraryItemsOptimizedForStreaming.Disable; + + [JsonProperty("has64bitOffsets")] + public bool? Has64bitOffsets { get; set; } + [JsonProperty("Part")] public List Part { get; set; } = default!; } diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsMediaContainer.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsMediaContainer.cs index 06e34db..42f9af7 100644 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsMediaContainer.cs +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsMediaContainer.cs @@ -9,15 +9,27 @@ #nullable enable namespace LukeHagar.PlexAPI.SDK.Models.Requests { - using LukeHagar.PlexAPI.SDK.Models.Components; using LukeHagar.PlexAPI.SDK.Models.Requests; using LukeHagar.PlexAPI.SDK.Utils; using Newtonsoft.Json; using System.Collections.Generic; + /// + /// The Meta object is only included in the response if the `includeMeta` parameter is set to `1`.
+ /// + /// + /// + /// + ///
public class GetLibraryItemsMediaContainer { + [JsonProperty("Type")] + public List? Type { get; set; } + + [JsonProperty("FieldType")] + public List? FieldType { get; set; } + [JsonProperty("size")] public int Size { get; set; } = default!; @@ -43,7 +55,7 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests public string Identifier { get; set; } = default!; [JsonProperty("librarySectionID")] - public LibrarySectionID LibrarySectionID { get; set; } = default!; + public long LibrarySectionID { get; set; } = default!; [JsonProperty("librarySectionTitle")] public string LibrarySectionTitle { get; set; } = default!; @@ -86,6 +98,6 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests /// ///
[JsonProperty("Meta")] - public Meta? Meta { get; set; } + public GetLibraryItemsMeta? Meta { get; set; } } } \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsMediaGuid.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsMediaGuid.cs new file mode 100644 index 0000000..c8f4f5e --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsMediaGuid.cs @@ -0,0 +1,29 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + + public class GetLibraryItemsMediaGuid + { + + /// + /// Can be one of the following formats:
+ /// + /// + /// imdb://tt13015952, tmdb://2434012, tvdb://7945991
+ /// + ///
+ ///
+ [JsonProperty("id")] + public string Id { get; set; } = default!; + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsMeta.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsMeta.cs new file mode 100644 index 0000000..c03f82c --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsMeta.cs @@ -0,0 +1,33 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Models.Requests; + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + /// + /// The Meta object is only included in the response if the `includeMeta` parameter is set to `1`.
+ /// + /// + /// + /// + ///
+ public class GetLibraryItemsMeta + { + + [JsonProperty("Type")] + public List? Type { get; set; } + + [JsonProperty("FieldType")] + public List? FieldType { get; set; } + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsMetaDataRating.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsMetaDataRating.cs new file mode 100644 index 0000000..8c36764 --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsMetaDataRating.cs @@ -0,0 +1,36 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + + public class GetLibraryItemsMetaDataRating + { + + /// + /// A URI or path to the rating image. + /// + [JsonProperty("image")] + public string Image { get; set; } = default!; + + /// + /// The value of the rating. + /// + [JsonProperty("value")] + public float Value { get; set; } = default!; + + /// + /// The type of rating (e.g., audience, critic). + /// + [JsonProperty("type")] + public string Type { get; set; } = default!; + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsMetadata.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsMetadata.cs index 875ceb0..8c93337 100644 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsMetadata.cs +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsMetadata.cs @@ -41,6 +41,15 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests [JsonProperty("skipChildren")] public bool? SkipChildren { get; set; } + [JsonProperty("librarySectionID")] + public long? LibrarySectionID { get; set; } + + [JsonProperty("librarySectionTitle")] + public string? LibrarySectionTitle { get; set; } + + [JsonProperty("librarySectionKey")] + public string? LibrarySectionKey { get; set; } + /// /// The type of media content
/// @@ -49,7 +58,7 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests /// ///
[JsonProperty("type")] - public GetLibraryItemsType Type { get; set; } = default!; + public GetLibraryItemsLibraryType Type { get; set; } = default!; [JsonProperty("title")] public string Title { get; set; } = default!; @@ -79,7 +88,7 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests public string? Tagline { get; set; } [JsonProperty("flattenSeasons")] - public FlattenSeasons? FlattenSeasons { get; set; } = LukeHagar.PlexAPI.SDK.Models.Requests.FlattenSeasons.False; + public GetLibraryItemsFlattenSeasons? FlattenSeasons { get; set; } = LukeHagar.PlexAPI.SDK.Models.Requests.GetLibraryItemsFlattenSeasons.False; /// /// Setting that indicates the episode ordering for the show
@@ -94,7 +103,7 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests /// ///
[JsonProperty("showOrdering")] - public ShowOrdering? ShowOrdering { get; set; } + public GetLibraryItemsShowOrdering? ShowOrdering { get; set; } [JsonProperty("thumb")] public string? Thumb { get; set; } @@ -150,6 +159,9 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests [JsonProperty("grandparentThumb")] public string? GrandparentThumb { get; set; } + [JsonProperty("parentSlug")] + public string? ParentSlug { get; set; } + [JsonProperty("grandparentSlug")] public string? GrandparentSlug { get; set; } @@ -182,7 +194,7 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests public List? Writer { get; set; } [JsonProperty("Collection")] - public List? Collection { get; set; } + public List? Collection { get; set; } [JsonProperty("Role")] public List? Role { get; set; } @@ -195,10 +207,13 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests /// ///
[JsonProperty("Guid")] - public List? MediaGuid { get; set; } + public List? MediaGuid { get; set; } [JsonProperty("UltraBlurColors")] - public UltraBlurColors? UltraBlurColors { get; set; } + public GetLibraryItemsUltraBlurColors? UltraBlurColors { get; set; } + + [JsonProperty("Rating")] + public List? MetaDataRating { get; set; } [JsonProperty("Image")] public List? Image { get; set; } diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsOptimizedForStreaming.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsOptimizedForStreaming.cs new file mode 100644 index 0000000..5d6a5ac --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsOptimizedForStreaming.cs @@ -0,0 +1,20 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Utils; + + public enum GetLibraryItemsOptimizedForStreaming + { + Disable = 0, + Enable = 1, + } + +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsPart.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsPart.cs index c05c119..66689d9 100644 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsPart.cs +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsPart.cs @@ -12,6 +12,7 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests using LukeHagar.PlexAPI.SDK.Models.Requests; using LukeHagar.PlexAPI.SDK.Utils; using Newtonsoft.Json; + using System.Collections.Generic; public class GetLibraryItemsPart { @@ -44,6 +45,12 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests [JsonProperty("audioProfile")] public string? AudioProfile { get; set; } + [JsonProperty("has64bitOffsets")] + public bool? Has64bitOffsets { get; set; } + + [JsonProperty("optimizedForStreaming")] + public bool? OptimizedForStreaming { get; set; } + [JsonProperty("videoProfile")] public string VideoProfile { get; set; } = default!; @@ -51,6 +58,9 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests public string? Indexes { get; set; } [JsonProperty("hasThumbnail")] - public HasThumbnail? HasThumbnail { get; set; } = LukeHagar.PlexAPI.SDK.Models.Requests.HasThumbnail.False; + public GetLibraryItemsHasThumbnail? HasThumbnail { get; set; } = LukeHagar.PlexAPI.SDK.Models.Requests.GetLibraryItemsHasThumbnail.False; + + [JsonProperty("Stream")] + public List? Stream { get; set; } } } \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsQueryParamIncludeMeta.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsQueryParamIncludeMeta.cs new file mode 100644 index 0000000..6e2fb98 --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsQueryParamIncludeMeta.cs @@ -0,0 +1,27 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Utils; + + /// + /// Adds the Meta object to the response
+ /// + /// + /// + /// + ///
+ public enum GetLibraryItemsQueryParamIncludeMeta + { + Disable = 0, + Enable = 1, + } + +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsQueryParamType.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsQueryParamType.cs new file mode 100644 index 0000000..85d7f6e --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsQueryParamType.cs @@ -0,0 +1,34 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Utils; + + /// + /// 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
+ /// + ///
+ ///
+ public enum GetLibraryItemsQueryParamType + { + Movie = 1, + TvShow = 2, + Season = 3, + Episode = 4, + } + +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsRequest.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsRequest.cs index 70b38cf..fce1f57 100644 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsRequest.cs +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsRequest.cs @@ -42,16 +42,6 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests [SpeakeasyMetadata("queryParam:style=form,explode=true,name=includeGuids")] public IncludeGuids? IncludeGuids { get; set; } = LukeHagar.PlexAPI.SDK.Models.Requests.IncludeGuids.Disable; - /// - /// Adds the Meta object to the response
- /// - /// - /// - /// - ///
- [SpeakeasyMetadata("queryParam:style=form,explode=true,name=includeMeta")] - public IncludeMeta? IncludeMeta { get; set; } = LukeHagar.PlexAPI.SDK.Models.Requests.IncludeMeta.Disable; - /// /// The type of media to retrieve.
/// @@ -65,7 +55,17 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests /// ///
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=type")] - public Models.Requests.Type? Type { get; set; } + public GetLibraryItemsQueryParamType? Type { get; set; } + + /// + /// Adds the Meta object to the response
+ /// + /// + /// + /// + ///
+ [SpeakeasyMetadata("queryParam:style=form,explode=true,name=includeMeta")] + public GetLibraryItemsQueryParamIncludeMeta? IncludeMeta { get; set; } = LukeHagar.PlexAPI.SDK.Models.Requests.GetLibraryItemsQueryParamIncludeMeta.Disable; /// /// The index of the first item to return. If not specified, the first item will be returned.
diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsRole.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsRole.cs index be930ff..7bd4a23 100644 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsRole.cs +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsRole.cs @@ -15,7 +15,40 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests public class GetLibraryItemsRole { + /// + /// The ID of the tag or actor. + /// + [JsonProperty("id")] + public long? Id { get; set; } + + /// + /// The filter used to find the actor or tag. + /// + [JsonProperty("filter")] + public string? Filter { get; set; } + + /// + /// The thumbnail of the actor + /// + [JsonProperty("thumb")] + public string? Thumb { get; set; } + + /// + /// The name of the tag or actor. + /// [JsonProperty("tag")] public string? Tag { get; set; } + + /// + /// Unique identifier for the tag. + /// + [JsonProperty("tagKey")] + public string? TagKey { get; set; } + + /// + /// The role of the actor or tag in the media. + /// + [JsonProperty("role")] + public string? Role { get; set; } } } \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsShowOrdering.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsShowOrdering.cs new file mode 100644 index 0000000..d5bce30 --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsShowOrdering.cs @@ -0,0 +1,75 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// Setting that indicates the episode ordering for the show
+ /// + /// + /// None = Library default,
+ /// tmdbAiring = The Movie Database (Aired),
+ /// aired = TheTVDB (Aired),
+ /// dvd = TheTVDB (DVD),
+ /// absolute = TheTVDB (Absolute)).
+ /// + ///
+ ///
+ public enum GetLibraryItemsShowOrdering + { + [JsonProperty("None")] + None, + [JsonProperty("tmdbAiring")] + TmdbAiring, + [JsonProperty("aired")] + Aired, + [JsonProperty("dvd")] + Dvd, + [JsonProperty("absolute")] + Absolute, + } + + public static class GetLibraryItemsShowOrderingExtension + { + public static string Value(this GetLibraryItemsShowOrdering value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static GetLibraryItemsShowOrdering ToEnum(this string value) + { + foreach(var field in typeof(GetLibraryItemsShowOrdering).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is GetLibraryItemsShowOrdering) + { + return (GetLibraryItemsShowOrdering)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum GetLibraryItemsShowOrdering"); + } + } + +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsSort.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsSort.cs index b70122c..da935d6 100644 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsSort.cs +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsSort.cs @@ -30,7 +30,7 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests /// ///
[JsonProperty("activeDirection")] - public ActiveDirection? ActiveDirection { get; set; } = LukeHagar.PlexAPI.SDK.Models.Requests.ActiveDirection.Ascending; + public GetLibraryItemsActiveDirection? ActiveDirection { get; set; } = LukeHagar.PlexAPI.SDK.Models.Requests.GetLibraryItemsActiveDirection.Ascending; /// /// The direction of the sort. Can be either `asc` or `desc`.
@@ -40,7 +40,7 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests /// ///
[JsonProperty("defaultDirection")] - public DefaultDirection? DefaultDirection { get; set; } = LukeHagar.PlexAPI.SDK.Models.Requests.DefaultDirection.Ascending; + public GetLibraryItemsDefaultDirection? DefaultDirection { get; set; } = LukeHagar.PlexAPI.SDK.Models.Requests.GetLibraryItemsDefaultDirection.Ascending; [JsonProperty("descKey")] public string? DescKey { get; set; } diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsStream.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsStream.cs new file mode 100644 index 0000000..7f7dca1 --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsStream.cs @@ -0,0 +1,234 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + + public class GetLibraryItemsStream + { + + [JsonProperty("id")] + public long Id { get; set; } = default!; + + /// + /// Type of stream (1 = video, 2 = audio, 3 = subtitle) + /// + [JsonProperty("streamType")] + public long StreamType { get; set; } = default!; + + /// + /// Indicates if this is the default stream + /// + [JsonProperty("default")] + public bool? Default { get; set; } + + /// + /// Indicates if the stream is selected + /// + [JsonProperty("selected")] + public bool? Selected { get; set; } + + /// + /// Codec used by the stream + /// + [JsonProperty("codec")] + public string Codec { get; set; } = default!; + + /// + /// The index of the stream + /// + [JsonProperty("index")] + public long Index { get; set; } = default!; + + /// + /// The bitrate of the stream in kbps + /// + [JsonProperty("bitrate")] + public long? Bitrate { get; set; } + + /// + /// The color primaries of the video stream + /// + [JsonProperty("colorPrimaries")] + public string? ColorPrimaries { get; set; } + + /// + /// The color range of the video stream + /// + [JsonProperty("colorRange")] + public string? ColorRange { get; set; } + + /// + /// The color space of the video stream + /// + [JsonProperty("colorSpace")] + public string? ColorSpace { get; set; } + + /// + /// The transfer characteristics (TRC) of the video stream + /// + [JsonProperty("colorTrc")] + public string? ColorTrc { get; set; } + + /// + /// The bit depth of the video stream + /// + [JsonProperty("bitDepth")] + public long? BitDepth { get; set; } + + /// + /// The chroma location of the video stream + /// + [JsonProperty("chromaLocation")] + public string? ChromaLocation { get; set; } + + /// + /// The identifier of the video stream + /// + [JsonProperty("streamIdentifier")] + public string? StreamIdentifier { get; set; } + + /// + /// The chroma subsampling format + /// + [JsonProperty("chromaSubsampling")] + public string? ChromaSubsampling { get; set; } + + /// + /// The coded height of the video stream + /// + [JsonProperty("codedHeight")] + public long? CodedHeight { get; set; } + + /// + /// The coded width of the video stream + /// + [JsonProperty("codedWidth")] + public long? CodedWidth { get; set; } + + /// + /// The frame rate of the video stream + /// + [JsonProperty("frameRate")] + public double? FrameRate { get; set; } + + /// + /// Indicates if the stream has a scaling matrix + /// + [JsonProperty("hasScalingMatrix")] + public bool? HasScalingMatrix { get; set; } + + [JsonProperty("hearingImpaired")] + public bool? HearingImpaired { get; set; } + + [JsonProperty("closedCaptions")] + public bool? ClosedCaptions { get; set; } + + [JsonProperty("embeddedInVideo")] + public string? EmbeddedInVideo { get; set; } + + /// + /// The height of the video stream + /// + [JsonProperty("height")] + public long? Height { get; set; } + + /// + /// The level of the video codec + /// + [JsonProperty("level")] + public long? Level { get; set; } + + /// + /// The profile of the video codec + /// + [JsonProperty("profile")] + public string? Profile { get; set; } + + /// + /// Number of reference frames + /// + [JsonProperty("refFrames")] + public long? RefFrames { get; set; } + + /// + /// The scan type (progressive or interlaced) + /// + [JsonProperty("scanType")] + public string? ScanType { get; set; } + + /// + /// The width of the video stream + /// + [JsonProperty("width")] + public long? Width { get; set; } + + /// + /// Display title of the stream + /// + [JsonProperty("displayTitle")] + public string? DisplayTitle { get; set; } + + /// + /// Extended display title of the stream + /// + [JsonProperty("extendedDisplayTitle")] + public string? ExtendedDisplayTitle { get; set; } + + /// + /// Number of audio channels (for audio streams) + /// + [JsonProperty("channels")] + public long? Channels { get; set; } + + /// + /// The language of the stream (for audio/subtitle streams) + /// + [JsonProperty("language")] + public string? Language { get; set; } + + /// + /// Language tag of the stream + /// + [JsonProperty("languageTag")] + public string? LanguageTag { get; set; } + + /// + /// Language code of the stream + /// + [JsonProperty("languageCode")] + public string? LanguageCode { get; set; } + + /// + /// The audio channel layout + /// + [JsonProperty("audioChannelLayout")] + public string? AudioChannelLayout { get; set; } + + /// + /// Sampling rate of the audio stream in Hz + /// + [JsonProperty("samplingRate")] + public long? SamplingRate { get; set; } + + /// + /// Title of the subtitle track (for subtitle streams) + /// + [JsonProperty("title")] + public string? Title { get; set; } + + /// + /// Indicates if the subtitle stream can auto-sync + /// + [JsonProperty("canAutoSync")] + public bool? CanAutoSync { get; set; } + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsType.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsType.cs index c64013c..8b13080 100644 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsType.cs +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsType.cs @@ -9,60 +9,33 @@ #nullable enable namespace LukeHagar.PlexAPI.SDK.Models.Requests { + using LukeHagar.PlexAPI.SDK.Models.Requests; using LukeHagar.PlexAPI.SDK.Utils; using Newtonsoft.Json; - using System; + using System.Collections.Generic; - /// - /// The type of media content
- /// - /// - /// - /// - ///
- public enum GetLibraryItemsType + public class GetLibraryItemsType { - [JsonProperty("movie")] - Movie, - [JsonProperty("show")] - TvShow, - [JsonProperty("season")] - Season, - [JsonProperty("episode")] - Episode, + + [JsonProperty("key")] + public string Key { get; set; } = default!; + + [JsonProperty("type")] + public string Type { get; set; } = default!; + + [JsonProperty("title")] + public string Title { get; set; } = default!; + + [JsonProperty("active")] + public bool Active { get; set; } = default!; + + [JsonProperty("Filter")] + public List? Filter { get; set; } + + [JsonProperty("Sort")] + public List? Sort { get; set; } + + [JsonProperty("Field")] + public List? Field { get; set; } } - - public static class GetLibraryItemsTypeExtension - { - public static string Value(this GetLibraryItemsType value) - { - return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); - } - - public static GetLibraryItemsType ToEnum(this string value) - { - foreach(var field in typeof(GetLibraryItemsType).GetFields()) - { - var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); - if (attributes.Length == 0) - { - continue; - } - - var attribute = attributes[0] as JsonPropertyAttribute; - if (attribute != null && attribute.PropertyName == value) - { - var enumVal = field.GetValue(null); - - if (enumVal is GetLibraryItemsType) - { - return (GetLibraryItemsType)enumVal; - } - } - } - - throw new Exception($"Unknown value {value} for enum GetLibraryItemsType"); - } - } - } \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsUltraBlurColors.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsUltraBlurColors.cs new file mode 100644 index 0000000..491eeba --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetLibraryItemsUltraBlurColors.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + + public class GetLibraryItemsUltraBlurColors + { + + [JsonProperty("topLeft")] + public string TopLeft { get; set; } = default!; + + [JsonProperty("topRight")] + public string TopRight { get; set; } = default!; + + [JsonProperty("bottomRight")] + public string BottomRight { get; set; } = default!; + + [JsonProperty("bottomLeft")] + public string BottomLeft { get; set; } = default!; + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetMetaDataByRatingKeyPart.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetMetaDataByRatingKeyPart.cs index 7d469fd..f83babd 100644 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/GetMetaDataByRatingKeyPart.cs +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetMetaDataByRatingKeyPart.cs @@ -48,6 +48,6 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests public string? VideoProfile { get; set; } [JsonProperty("Stream")] - public List? Stream { get; set; } + public List? Stream { get; set; } } } \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetMetaDataByRatingKeyStream.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetMetaDataByRatingKeyStream.cs new file mode 100644 index 0000000..c4cc0f6 --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetMetaDataByRatingKeyStream.cs @@ -0,0 +1,114 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + + public class GetMetaDataByRatingKeyStream + { + + [JsonProperty("id")] + public int? Id { get; set; } + + [JsonProperty("streamType")] + public int? StreamType { get; set; } + + [JsonProperty("default")] + public bool? Default { get; set; } + + [JsonProperty("codec")] + public string? Codec { get; set; } + + [JsonProperty("index")] + public int? Index { get; set; } + + [JsonProperty("bitrate")] + public int? Bitrate { get; set; } + + [JsonProperty("bitDepth")] + public int? BitDepth { get; set; } + + [JsonProperty("chromaLocation")] + public string? ChromaLocation { get; set; } + + [JsonProperty("chromaSubsampling")] + public string? ChromaSubsampling { get; set; } + + [JsonProperty("codedHeight")] + public int? CodedHeight { get; set; } + + [JsonProperty("codedWidth")] + public int? CodedWidth { get; set; } + + [JsonProperty("colorPrimaries")] + public string? ColorPrimaries { get; set; } + + [JsonProperty("colorRange")] + public string? ColorRange { get; set; } + + [JsonProperty("colorSpace")] + public string? ColorSpace { get; set; } + + [JsonProperty("colorTrc")] + public string? ColorTrc { get; set; } + + [JsonProperty("frameRate")] + public int? FrameRate { get; set; } + + [JsonProperty("hasScalingMatrix")] + public bool? HasScalingMatrix { get; set; } + + [JsonProperty("height")] + public int? Height { get; set; } + + [JsonProperty("level")] + public int? Level { get; set; } + + [JsonProperty("profile")] + public string? Profile { get; set; } + + [JsonProperty("refFrames")] + public int? RefFrames { get; set; } + + [JsonProperty("scanType")] + public string? ScanType { get; set; } + + [JsonProperty("streamIdentifier")] + public string? StreamIdentifier { get; set; } + + [JsonProperty("width")] + public int? Width { get; set; } + + [JsonProperty("displayTitle")] + public string? DisplayTitle { get; set; } + + [JsonProperty("extendedDisplayTitle")] + public string? ExtendedDisplayTitle { get; set; } + + [JsonProperty("selected")] + public bool? Selected { get; set; } + + [JsonProperty("channels")] + public int? Channels { get; set; } + + [JsonProperty("language")] + public string? Language { get; set; } + + [JsonProperty("languageTag")] + public string? LanguageTag { get; set; } + + [JsonProperty("languageCode")] + public string? LanguageCode { get; set; } + + [JsonProperty("samplingRate")] + public int? SamplingRate { get; set; } + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedActiveDirection.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedActiveDirection.cs new file mode 100644 index 0000000..c6bac72 --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedActiveDirection.cs @@ -0,0 +1,64 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// The direction of the sort. Can be either `asc` or `desc`.
+ /// + /// + /// + /// + ///
+ public enum GetRecentlyAddedActiveDirection + { + [JsonProperty("asc")] + Ascending, + [JsonProperty("desc")] + Descending, + } + + public static class GetRecentlyAddedActiveDirectionExtension + { + public static string Value(this GetRecentlyAddedActiveDirection value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static GetRecentlyAddedActiveDirection ToEnum(this string value) + { + foreach(var field in typeof(GetRecentlyAddedActiveDirection).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is GetRecentlyAddedActiveDirection) + { + return (GetRecentlyAddedActiveDirection)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum GetRecentlyAddedActiveDirection"); + } + } + +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedDefaultDirection.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedDefaultDirection.cs new file mode 100644 index 0000000..020e0c0 --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedDefaultDirection.cs @@ -0,0 +1,64 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// The direction of the sort. Can be either `asc` or `desc`.
+ /// + /// + /// + /// + ///
+ public enum GetRecentlyAddedDefaultDirection + { + [JsonProperty("asc")] + Ascending, + [JsonProperty("desc")] + Descending, + } + + public static class GetRecentlyAddedDefaultDirectionExtension + { + public static string Value(this GetRecentlyAddedDefaultDirection value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static GetRecentlyAddedDefaultDirection ToEnum(this string value) + { + foreach(var field in typeof(GetRecentlyAddedDefaultDirection).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is GetRecentlyAddedDefaultDirection) + { + return (GetRecentlyAddedDefaultDirection)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum GetRecentlyAddedDefaultDirection"); + } + } + +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedField.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedField.cs new file mode 100644 index 0000000..c3877a7 --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedField.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + + public class GetRecentlyAddedField + { + + [JsonProperty("key")] + public string Key { get; set; } = default!; + + [JsonProperty("title")] + public string Title { get; set; } = default!; + + [JsonProperty("type")] + public string Type { get; set; } = default!; + + [JsonProperty("subType")] + public string? SubType { get; set; } + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedFieldType.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedFieldType.cs new file mode 100644 index 0000000..0634530 --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedFieldType.cs @@ -0,0 +1,26 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Models.Requests; + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + public class GetRecentlyAddedFieldType + { + + [JsonProperty("type")] + public string Type { get; set; } = default!; + + [JsonProperty("Operator")] + public List Operator { get; set; } = default!; + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedFilter.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedFilter.cs new file mode 100644 index 0000000..f456655 --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedFilter.cs @@ -0,0 +1,33 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + + public class GetRecentlyAddedFilter + { + + [JsonProperty("filter")] + public string Filter { get; set; } = default!; + + [JsonProperty("filterType")] + public string FilterType { get; set; } = default!; + + [JsonProperty("key")] + public string Key { get; set; } = default!; + + [JsonProperty("title")] + public string Title { get; set; } = default!; + + [JsonProperty("type")] + public string Type { get; set; } = default!; + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedHubsResponseType.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedHubsResponseType.cs new file mode 100644 index 0000000..2071470 --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedHubsResponseType.cs @@ -0,0 +1,61 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + using System; + + public enum GetRecentlyAddedHubsResponseType + { + [JsonProperty("coverPoster")] + CoverPoster, + [JsonProperty("background")] + Background, + [JsonProperty("snapshot")] + Snapshot, + [JsonProperty("clearLogo")] + ClearLogo, + } + + public static class GetRecentlyAddedHubsResponseTypeExtension + { + public static string Value(this GetRecentlyAddedHubsResponseType value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static GetRecentlyAddedHubsResponseType ToEnum(this string value) + { + foreach(var field in typeof(GetRecentlyAddedHubsResponseType).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is GetRecentlyAddedHubsResponseType) + { + return (GetRecentlyAddedHubsResponseType)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum GetRecentlyAddedHubsResponseType"); + } + } + +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedHubsType.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedHubsType.cs new file mode 100644 index 0000000..6301faa --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedHubsType.cs @@ -0,0 +1,68 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + using System; + + /// + /// The type of media content
+ /// + /// + /// + /// + ///
+ public enum GetRecentlyAddedHubsType + { + [JsonProperty("movie")] + Movie, + [JsonProperty("show")] + TvShow, + [JsonProperty("season")] + Season, + [JsonProperty("episode")] + Episode, + } + + public static class GetRecentlyAddedHubsTypeExtension + { + public static string Value(this GetRecentlyAddedHubsType value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static GetRecentlyAddedHubsType ToEnum(this string value) + { + foreach(var field in typeof(GetRecentlyAddedHubsType).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is GetRecentlyAddedHubsType) + { + return (GetRecentlyAddedHubsType)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum GetRecentlyAddedHubsType"); + } + } + +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedImage.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedImage.cs new file mode 100644 index 0000000..28b6733 --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedImage.cs @@ -0,0 +1,28 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Models.Requests; + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + + public class GetRecentlyAddedImage + { + + [JsonProperty("alt")] + public string Alt { get; set; } = default!; + + [JsonProperty("type")] + public GetRecentlyAddedHubsResponseType Type { get; set; } = default!; + + [JsonProperty("url")] + public string Url { get; set; } = default!; + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedLibraryCountry.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedLibraryCountry.cs new file mode 100644 index 0000000..9eaec69 --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedLibraryCountry.cs @@ -0,0 +1,21 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + + public class GetRecentlyAddedLibraryCountry + { + + [JsonProperty("tag")] + public string? Tag { get; set; } + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedLibraryDirector.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedLibraryDirector.cs new file mode 100644 index 0000000..05a1564 --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedLibraryDirector.cs @@ -0,0 +1,21 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + + public class GetRecentlyAddedLibraryDirector + { + + [JsonProperty("tag")] + public string? Tag { get; set; } + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedLibraryFilter.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedLibraryFilter.cs new file mode 100644 index 0000000..0e88f88 --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedLibraryFilter.cs @@ -0,0 +1,33 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + + public class GetRecentlyAddedLibraryFilter + { + + [JsonProperty("filter")] + public string Filter { get; set; } = default!; + + [JsonProperty("filterType")] + public string FilterType { get; set; } = default!; + + [JsonProperty("key")] + public string Key { get; set; } = default!; + + [JsonProperty("title")] + public string Title { get; set; } = default!; + + [JsonProperty("type")] + public string Type { get; set; } = default!; + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedLibraryGenre.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedLibraryGenre.cs new file mode 100644 index 0000000..2dbf420 --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedLibraryGenre.cs @@ -0,0 +1,21 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + + public class GetRecentlyAddedLibraryGenre + { + + [JsonProperty("tag")] + public string? Tag { get; set; } + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedLibraryMedia.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedLibraryMedia.cs new file mode 100644 index 0000000..f9a295f --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedLibraryMedia.cs @@ -0,0 +1,68 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Models.Requests; + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + public class GetRecentlyAddedLibraryMedia + { + + [JsonProperty("id")] + public double? Id { get; set; } + + [JsonProperty("duration")] + public double? Duration { get; set; } + + [JsonProperty("bitrate")] + public double? Bitrate { get; set; } + + [JsonProperty("width")] + public double? Width { get; set; } + + [JsonProperty("height")] + public double? Height { get; set; } + + [JsonProperty("aspectRatio")] + public double? AspectRatio { get; set; } + + [JsonProperty("audioChannels")] + public double? AudioChannels { get; set; } + + [JsonProperty("audioCodec")] + public string? AudioCodec { get; set; } + + [JsonProperty("videoCodec")] + public string? VideoCodec { get; set; } + + [JsonProperty("videoResolution")] + public double? VideoResolution { get; set; } + + [JsonProperty("container")] + public string? Container { get; set; } + + [JsonProperty("videoFrameRate")] + public string? VideoFrameRate { get; set; } + + [JsonProperty("optimizedForStreaming")] + public double? OptimizedForStreaming { get; set; } + + [JsonProperty("has64bitOffsets")] + public bool? Has64bitOffsets { get; set; } + + [JsonProperty("videoProfile")] + public string? VideoProfile { get; set; } + + [JsonProperty("Part")] + public List? Part { get; set; } + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedLibraryMediaContainer.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedLibraryMediaContainer.cs new file mode 100644 index 0000000..b5b815d --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedLibraryMediaContainer.cs @@ -0,0 +1,54 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Models.Requests; + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + /// + /// The Meta object is only included in the response if the `includeMeta` parameter is set to `1`.
+ /// + /// + /// + /// + ///
+ public class GetRecentlyAddedLibraryMediaContainer + { + + [JsonProperty("Type")] + public List? Type { get; set; } + + [JsonProperty("FieldType")] + public List? FieldType { get; set; } + + [JsonProperty("size")] + public double? Size { get; set; } + + [JsonProperty("allowSync")] + public bool? AllowSync { get; set; } + + [JsonProperty("identifier")] + public string? Identifier { get; set; } + + [JsonProperty("mediaTagPrefix")] + public string? MediaTagPrefix { get; set; } + + [JsonProperty("mediaTagVersion")] + public double? MediaTagVersion { get; set; } + + [JsonProperty("mixedParents")] + public bool? MixedParents { get; set; } + + [JsonProperty("Metadata")] + public List? Metadata { get; set; } + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedLibraryMetadata.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedLibraryMetadata.cs new file mode 100644 index 0000000..3e1bc97 --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedLibraryMetadata.cs @@ -0,0 +1,117 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Models.Requests; + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + using System; + + public class GetRecentlyAddedLibraryMetadata + { + + [JsonProperty("allowSync")] + public bool? AllowSync { get; set; } + + [JsonProperty("librarySectionID")] + public double? LibrarySectionID { get; set; } + + [JsonProperty("librarySectionTitle")] + public string? LibrarySectionTitle { get; set; } + + [JsonProperty("librarySectionUUID")] + public string? LibrarySectionUUID { get; set; } + + [JsonProperty("ratingKey")] + public double? RatingKey { get; set; } + + [JsonProperty("key")] + public string? Key { get; set; } + + [JsonProperty("guid")] + public string? Guid { get; set; } + + [JsonProperty("studio")] + public string? Studio { get; set; } + + [JsonProperty("type")] + public string? Type { get; set; } + + [JsonProperty("title")] + public string? Title { get; set; } + + [JsonProperty("contentRating")] + public string? ContentRating { get; set; } + + [JsonProperty("summary")] + public string? Summary { get; set; } + + [JsonProperty("rating")] + public double? Rating { get; set; } + + [JsonProperty("audienceRating")] + public double? AudienceRating { get; set; } + + [JsonProperty("year")] + public double? Year { get; set; } + + [JsonProperty("tagline")] + public string? Tagline { get; set; } + + [JsonProperty("thumb")] + public string? Thumb { get; set; } + + [JsonProperty("art")] + public string? Art { get; set; } + + [JsonProperty("duration")] + public double? Duration { get; set; } + + [JsonProperty("originallyAvailableAt")] + public DateTime? OriginallyAvailableAt { get; set; } + + [JsonProperty("addedAt")] + public double? AddedAt { get; set; } + + [JsonProperty("updatedAt")] + public double? UpdatedAt { get; set; } + + [JsonProperty("audienceRatingImage")] + public string? AudienceRatingImage { get; set; } + + [JsonProperty("chapterSource")] + public string? ChapterSource { get; set; } + + [JsonProperty("primaryExtraKey")] + public string? PrimaryExtraKey { get; set; } + + [JsonProperty("ratingImage")] + public string? RatingImage { get; set; } + + [JsonProperty("Media")] + public List? Media { get; set; } + + [JsonProperty("Genre")] + public List? Genre { get; set; } + + [JsonProperty("Director")] + public List? Director { get; set; } + + [JsonProperty("Writer")] + public List? Writer { get; set; } + + [JsonProperty("Country")] + public List? Country { get; set; } + + [JsonProperty("Role")] + public List? Role { get; set; } + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedLibraryPart.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedLibraryPart.cs new file mode 100644 index 0000000..cf31812 --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedLibraryPart.cs @@ -0,0 +1,48 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + + public class GetRecentlyAddedLibraryPart + { + + [JsonProperty("id")] + public double? Id { get; set; } + + [JsonProperty("key")] + public string? Key { get; set; } + + [JsonProperty("duration")] + public double? Duration { get; set; } + + [JsonProperty("file")] + public string? File { get; set; } + + [JsonProperty("size")] + public double? Size { get; set; } + + [JsonProperty("container")] + public string? Container { get; set; } + + [JsonProperty("has64bitOffsets")] + public bool? Has64bitOffsets { get; set; } + + [JsonProperty("hasThumbnail")] + public double? HasThumbnail { get; set; } + + [JsonProperty("optimizedForStreaming")] + public bool? OptimizedForStreaming { get; set; } + + [JsonProperty("videoProfile")] + public string? VideoProfile { get; set; } + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedLibraryRequest.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedLibraryRequest.cs new file mode 100644 index 0000000..1a001c3 --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedLibraryRequest.cs @@ -0,0 +1,80 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Models.Requests; + using LukeHagar.PlexAPI.SDK.Utils; + using System.Collections.Generic; + + public class GetRecentlyAddedLibraryRequest + { + + /// + /// 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
+ /// + ///
+ ///
+ [SpeakeasyMetadata("queryParam:style=form,explode=true,name=type")] + public QueryParamType Type { get; set; } = default!; + + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=contentDirectoryID")] + public long? ContentDirectoryID { get; set; } + + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=pinnedContentDirectoryID")] + public List? PinnedContentDirectoryID { get; set; } + + /// + /// The library section ID for filtering content. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=sectionID")] + public long? SectionID { get; set; } + + /// + /// Adds the Meta object to the response
+ /// + /// + /// + /// + ///
+ [SpeakeasyMetadata("queryParam:style=form,explode=true,name=includeMeta")] + public QueryParamIncludeMeta? IncludeMeta { get; set; } = LukeHagar.PlexAPI.SDK.Models.Requests.QueryParamIncludeMeta.Disable; + + /// + /// 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
+ /// + ///
+ ///
+ [SpeakeasyMetadata("queryParam:style=form,explode=true,name=X-Plex-Container-Start")] + public int? XPlexContainerStart { get; set; } = 0; + + /// + /// 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
+ /// + ///
+ ///
+ [SpeakeasyMetadata("queryParam:style=form,explode=true,name=X-Plex-Container-Size")] + public int? XPlexContainerSize { get; set; } = 50; + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedLibraryResponse.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedLibraryResponse.cs new file mode 100644 index 0000000..9894406 --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedLibraryResponse.cs @@ -0,0 +1,40 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Models.Requests; + using LukeHagar.PlexAPI.SDK.Utils; + using System.Net.Http; + using System; + + public class GetRecentlyAddedLibraryResponse + { + + /// + /// HTTP response content type for this operation + /// + public string? ContentType { get; set; } = default!; + + /// + /// HTTP response status code for this operation + /// + public int StatusCode { get; set; } = default!; + + /// + /// Raw HTTP response; suitable for custom response parsing + /// + public HttpResponseMessage RawResponse { get; set; } = default!; + + /// + /// The recently added content + /// + public GetRecentlyAddedLibraryResponseBody? Object { get; set; } + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedLibraryResponseBody.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedLibraryResponseBody.cs new file mode 100644 index 0000000..9f94d31 --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedLibraryResponseBody.cs @@ -0,0 +1,25 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Models.Requests; + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + + /// + /// The recently added content + /// + public class GetRecentlyAddedLibraryResponseBody + { + + [JsonProperty("MediaContainer")] + public GetRecentlyAddedLibraryMediaContainer? MediaContainer { get; set; } + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedLibraryRole.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedLibraryRole.cs new file mode 100644 index 0000000..af1c6b8 --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedLibraryRole.cs @@ -0,0 +1,21 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + + public class GetRecentlyAddedLibraryRole + { + + [JsonProperty("tag")] + public string? Tag { get; set; } + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedLibraryType.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedLibraryType.cs new file mode 100644 index 0000000..f8bee36 --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedLibraryType.cs @@ -0,0 +1,41 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Models.Requests; + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + public class GetRecentlyAddedLibraryType + { + + [JsonProperty("key")] + public string Key { get; set; } = default!; + + [JsonProperty("type")] + public string Type { get; set; } = default!; + + [JsonProperty("title")] + public string Title { get; set; } = default!; + + [JsonProperty("active")] + public bool Active { get; set; } = default!; + + [JsonProperty("Filter")] + public List? Filter { get; set; } + + [JsonProperty("Sort")] + public List? Sort { get; set; } + + [JsonProperty("Field")] + public List? Field { get; set; } + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedLibraryWriter.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedLibraryWriter.cs new file mode 100644 index 0000000..8d9bf56 --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedLibraryWriter.cs @@ -0,0 +1,21 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + + public class GetRecentlyAddedLibraryWriter + { + + [JsonProperty("tag")] + public string? Tag { get; set; } + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedMediaContainer.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedMediaContainer.cs index 1ecd08e..ffa107d 100644 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedMediaContainer.cs +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedMediaContainer.cs @@ -18,22 +18,29 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests { [JsonProperty("size")] - public double? Size { get; set; } + public double Size { get; set; } = default!; - [JsonProperty("allowSync")] - public bool? AllowSync { get; set; } + [JsonProperty("offset")] + public int? Offset { get; set; } + + [JsonProperty("totalSize")] + public int? TotalSize { get; set; } [JsonProperty("identifier")] public string? Identifier { get; set; } - [JsonProperty("mediaTagPrefix")] - public string? MediaTagPrefix { get; set; } + [JsonProperty("allowSync")] + public bool? AllowSync { get; set; } - [JsonProperty("mediaTagVersion")] - public double? MediaTagVersion { get; set; } - - [JsonProperty("mixedParents")] - public bool? MixedParents { get; set; } + /// + /// The Meta object is only included in the response if the `includeMeta` parameter is set to `1`.
+ /// + /// + /// + /// + ///
+ [JsonProperty("Meta")] + public Meta? Meta { get; set; } [JsonProperty("Metadata")] public List? Metadata { get; set; } diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedMetadata.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedMetadata.cs index cc3d933..8a33468 100644 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedMetadata.cs +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedMetadata.cs @@ -12,47 +12,65 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests using LukeHagar.PlexAPI.SDK.Models.Requests; using LukeHagar.PlexAPI.SDK.Utils; using Newtonsoft.Json; + using NodaTime; using System.Collections.Generic; - using System; public class GetRecentlyAddedMetadata { - [JsonProperty("allowSync")] - public bool? AllowSync { get; set; } - - [JsonProperty("librarySectionID")] - public double? LibrarySectionID { get; set; } - - [JsonProperty("librarySectionTitle")] - public string? LibrarySectionTitle { get; set; } - - [JsonProperty("librarySectionUUID")] - public string? LibrarySectionUUID { get; set; } - + /// + /// The rating key (Media ID) of this media item.
+ /// + /// + /// Note: This is always an integer, but is represented as a string in the API.
+ /// + ///
+ ///
[JsonProperty("ratingKey")] - public double? RatingKey { get; set; } + public string RatingKey { get; set; } = default!; [JsonProperty("key")] - public string? Key { get; set; } + public string Key { get; set; } = default!; [JsonProperty("guid")] - public string? Guid { get; set; } + public string Guid { get; set; } = default!; [JsonProperty("studio")] public string? Studio { get; set; } + [JsonProperty("skipChildren")] + public bool? SkipChildren { get; set; } + + [JsonProperty("librarySectionID")] + public long? LibrarySectionID { get; set; } + + [JsonProperty("librarySectionTitle")] + public string? LibrarySectionTitle { get; set; } + + [JsonProperty("librarySectionKey")] + public string? LibrarySectionKey { get; set; } + + /// + /// The type of media content
+ /// + /// + /// + /// + ///
[JsonProperty("type")] - public string? Type { get; set; } + public GetRecentlyAddedHubsType Type { get; set; } = default!; [JsonProperty("title")] - public string? Title { get; set; } + public string Title { get; set; } = default!; + + [JsonProperty("slug")] + public string? Slug { get; set; } [JsonProperty("contentRating")] public string? ContentRating { get; set; } [JsonProperty("summary")] - public string? Summary { get; set; } + public string Summary { get; set; } = default!; [JsonProperty("rating")] public double? Rating { get; set; } @@ -61,28 +79,58 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests public double? AudienceRating { get; set; } [JsonProperty("year")] - public double? Year { get; set; } + public int? Year { get; set; } + + [JsonProperty("seasonCount")] + public int? SeasonCount { get; set; } [JsonProperty("tagline")] public string? Tagline { get; set; } + [JsonProperty("flattenSeasons")] + public FlattenSeasons? FlattenSeasons { get; set; } = LukeHagar.PlexAPI.SDK.Models.Requests.FlattenSeasons.False; + + /// + /// Setting that indicates the episode ordering for the show
+ /// + /// + /// None = Library default,
+ /// tmdbAiring = The Movie Database (Aired),
+ /// aired = TheTVDB (Aired),
+ /// dvd = TheTVDB (DVD),
+ /// absolute = TheTVDB (Absolute)).
+ /// + ///
+ ///
+ [JsonProperty("showOrdering")] + public ShowOrdering? ShowOrdering { get; set; } + [JsonProperty("thumb")] public string? Thumb { get; set; } [JsonProperty("art")] public string? Art { get; set; } + [JsonProperty("banner")] + public string? Banner { get; set; } + [JsonProperty("duration")] - public double? Duration { get; set; } + public int? Duration { get; set; } [JsonProperty("originallyAvailableAt")] - public DateTime? OriginallyAvailableAt { get; set; } + public LocalDate? OriginallyAvailableAt { get; set; } + /// + /// Unix epoch datetime in seconds + /// [JsonProperty("addedAt")] - public double? AddedAt { get; set; } + public long AddedAt { get; set; } = default!; + /// + /// Unix epoch datetime in seconds + /// [JsonProperty("updatedAt")] - public double? UpdatedAt { get; set; } + public long? UpdatedAt { get; set; } [JsonProperty("audienceRatingImage")] public string? AudienceRatingImage { get; set; } @@ -96,22 +144,151 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests [JsonProperty("ratingImage")] public string? RatingImage { get; set; } + [JsonProperty("grandparentRatingKey")] + public string? GrandparentRatingKey { get; set; } + + [JsonProperty("grandparentGuid")] + public string? GrandparentGuid { get; set; } + + [JsonProperty("grandparentKey")] + public string? GrandparentKey { get; set; } + + [JsonProperty("grandparentTitle")] + public string? GrandparentTitle { get; set; } + + [JsonProperty("grandparentThumb")] + public string? GrandparentThumb { get; set; } + + [JsonProperty("parentSlug")] + public string? ParentSlug { get; set; } + + [JsonProperty("grandparentSlug")] + public string? GrandparentSlug { get; set; } + + [JsonProperty("grandparentArt")] + public string? GrandparentArt { get; set; } + + [JsonProperty("grandparentTheme")] + public string? GrandparentTheme { get; set; } + + /// + /// The Media object is only included when type query is `4` or higher.
+ /// + /// + /// + /// + ///
[JsonProperty("Media")] public List? Media { get; set; } [JsonProperty("Genre")] public List? Genre { get; set; } + [JsonProperty("Country")] + public List? Country { get; set; } + [JsonProperty("Director")] public List? Director { get; set; } [JsonProperty("Writer")] public List? Writer { get; set; } - [JsonProperty("Country")] - public List? Country { get; set; } + [JsonProperty("Collection")] + public List? Collection { get; set; } [JsonProperty("Role")] public List? Role { get; set; } + + /// + /// The Guid object is only included in the response if the `includeGuids` parameter is set to `1`.
+ /// + /// + /// + /// + ///
+ [JsonProperty("Guid")] + public List? MediaGuid { get; set; } + + [JsonProperty("UltraBlurColors")] + public UltraBlurColors? UltraBlurColors { get; set; } + + [JsonProperty("Rating")] + public List? MetaDataRating { get; set; } + + [JsonProperty("Image")] + public List? Image { get; set; } + + [JsonProperty("titleSort")] + public string? TitleSort { get; set; } + + [JsonProperty("viewCount")] + public int? ViewCount { get; set; } + + [JsonProperty("lastViewedAt")] + public int? LastViewedAt { get; set; } + + [JsonProperty("originalTitle")] + public string? OriginalTitle { get; set; } + + [JsonProperty("viewOffset")] + public int? ViewOffset { get; set; } + + [JsonProperty("skipCount")] + public int? SkipCount { get; set; } + + [JsonProperty("index")] + public int? Index { get; set; } + + [JsonProperty("theme")] + public string? Theme { get; set; } + + [JsonProperty("leafCount")] + public int? LeafCount { get; set; } + + [JsonProperty("viewedLeafCount")] + public int? ViewedLeafCount { get; set; } + + [JsonProperty("childCount")] + public int? ChildCount { get; set; } + + [JsonProperty("hasPremiumExtras")] + public string? HasPremiumExtras { get; set; } + + [JsonProperty("hasPremiumPrimaryExtra")] + public string? HasPremiumPrimaryExtra { get; set; } + + /// + /// The rating key of the parent item.
+ /// + /// + /// + /// + ///
+ [JsonProperty("parentRatingKey")] + public string? ParentRatingKey { get; set; } + + [JsonProperty("parentGuid")] + public string? ParentGuid { get; set; } + + [JsonProperty("parentStudio")] + public string? ParentStudio { get; set; } + + [JsonProperty("parentKey")] + public string? ParentKey { get; set; } + + [JsonProperty("parentTitle")] + public string? ParentTitle { get; set; } + + [JsonProperty("parentIndex")] + public int? ParentIndex { get; set; } + + [JsonProperty("parentYear")] + public int? ParentYear { get; set; } + + [JsonProperty("parentThumb")] + public string? ParentThumb { get; set; } + + [JsonProperty("parentTheme")] + public string? ParentTheme { get; set; } } } \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedOperator.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedOperator.cs new file mode 100644 index 0000000..f864f89 --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedOperator.cs @@ -0,0 +1,24 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + + public class GetRecentlyAddedOperator + { + + [JsonProperty("key")] + public string Key { get; set; } = default!; + + [JsonProperty("title")] + public string Title { get; set; } = default!; + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedRequest.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedRequest.cs index aae4c5d..0a785b5 100644 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedRequest.cs +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedRequest.cs @@ -9,11 +9,55 @@ #nullable enable namespace LukeHagar.PlexAPI.SDK.Models.Requests { + using LukeHagar.PlexAPI.SDK.Models.Requests; using LukeHagar.PlexAPI.SDK.Utils; public class GetRecentlyAddedRequest { + /// + /// The content directory ID. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=contentDirectoryID")] + public long ContentDirectoryID { get; set; } = default!; + + /// + /// 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
+ /// + ///
+ ///
+ [SpeakeasyMetadata("queryParam:style=form,explode=true,name=type")] + public Models.Requests.Type Type { get; set; } = default!; + + /// + /// Comma-separated list of pinned content directory IDs. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=pinnedContentDirectoryID")] + public string? PinnedContentDirectoryID { get; set; } + + /// + /// The library section ID for filtering content. + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=sectionID")] + public long? SectionID { get; set; } + + /// + /// Adds the Meta object to the response
+ /// + /// + /// + /// + ///
+ [SpeakeasyMetadata("queryParam:style=form,explode=true,name=includeMeta")] + public IncludeMeta? IncludeMeta { get; set; } = LukeHagar.PlexAPI.SDK.Models.Requests.IncludeMeta.Disable; + /// /// The index of the first item to return. If not specified, the first item will be returned.
/// diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedResponse.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedResponse.cs index 8d0af95..8f71334 100644 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedResponse.cs +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedResponse.cs @@ -33,7 +33,7 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests public HttpResponseMessage RawResponse { get; set; } = default!; /// - /// The recently added content + /// A successful response with recently added content. /// public GetRecentlyAddedResponseBody? Object { get; set; } } diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedResponseBody.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedResponseBody.cs index 494982b..769b6c1 100644 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedResponseBody.cs +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedResponseBody.cs @@ -14,7 +14,7 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests using Newtonsoft.Json; /// - /// The recently added content + /// A successful response with recently added content. /// public class GetRecentlyAddedResponseBody { diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedSort.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedSort.cs new file mode 100644 index 0000000..ec99b0a --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedSort.cs @@ -0,0 +1,57 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Models.Requests; + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + + public class GetRecentlyAddedSort + { + + [JsonProperty("default")] + public string? Default { get; set; } + + [JsonProperty("active")] + public bool? Active { get; set; } + + /// + /// The direction of the sort. Can be either `asc` or `desc`.
+ /// + /// + /// + /// + ///
+ [JsonProperty("activeDirection")] + public GetRecentlyAddedActiveDirection? ActiveDirection { get; set; } = LukeHagar.PlexAPI.SDK.Models.Requests.GetRecentlyAddedActiveDirection.Ascending; + + /// + /// The direction of the sort. Can be either `asc` or `desc`.
+ /// + /// + /// + /// + ///
+ [JsonProperty("defaultDirection")] + public GetRecentlyAddedDefaultDirection? DefaultDirection { get; set; } = LukeHagar.PlexAPI.SDK.Models.Requests.GetRecentlyAddedDefaultDirection.Ascending; + + [JsonProperty("descKey")] + public string? DescKey { get; set; } + + [JsonProperty("firstCharacterKey")] + public string? FirstCharacterKey { get; set; } + + [JsonProperty("key")] + public string Key { get; set; } = default!; + + [JsonProperty("title")] + public string Title { get; set; } = default!; + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedType.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedType.cs new file mode 100644 index 0000000..91d3949 --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetRecentlyAddedType.cs @@ -0,0 +1,41 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Models.Requests; + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + public class GetRecentlyAddedType + { + + [JsonProperty("key")] + public string Key { get; set; } = default!; + + [JsonProperty("type")] + public string Type { get; set; } = default!; + + [JsonProperty("title")] + public string Title { get; set; } = default!; + + [JsonProperty("active")] + public bool Active { get; set; } = default!; + + [JsonProperty("Filter")] + public List? Filter { get; set; } + + [JsonProperty("Sort")] + public List? Sort { get; set; } + + [JsonProperty("Field")] + public List? Field { get; set; } + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchLibraryQueryParamType.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchLibraryQueryParamType.cs new file mode 100644 index 0000000..b293fdb --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchLibraryQueryParamType.cs @@ -0,0 +1,34 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Utils; + + /// + /// 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
+ /// + ///
+ ///
+ public enum GetSearchLibraryQueryParamType + { + Movie = 1, + TvShow = 2, + Season = 3, + Episode = 4, + } + +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchLibraryRequest.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchLibraryRequest.cs index fddebab..4b00218 100644 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchLibraryRequest.cs +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetSearchLibraryRequest.cs @@ -39,6 +39,6 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests /// ///
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=type")] - public QueryParamType Type { get; set; } = default!; + public GetSearchLibraryQueryParamType Type { get; set; } = default!; } } \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/LibrarySectionID.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/LibrarySectionID.cs deleted file mode 100644 index 1241fd8..0000000 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/LibrarySectionID.cs +++ /dev/null @@ -1,182 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. -// -// Changes to this file may cause incorrect behavior and will be lost when -// the code is regenerated. -// -//------------------------------------------------------------------------------ -#nullable enable -namespace LukeHagar.PlexAPI.SDK.Models.Requests -{ - using LukeHagar.PlexAPI.SDK.Utils; - using Newtonsoft.Json.Linq; - using Newtonsoft.Json; - using System.Collections.Generic; - using System.Numerics; - using System.Reflection; - using System; - - - public class LibrarySectionIDType - { - private LibrarySectionIDType(string value) { Value = value; } - - public string Value { get; private set; } - public static LibrarySectionIDType Integer { get { return new LibrarySectionIDType("integer"); } } - - public static LibrarySectionIDType Str { get { return new LibrarySectionIDType("str"); } } - - public static LibrarySectionIDType Null { get { return new LibrarySectionIDType("null"); } } - - public override string ToString() { return Value; } - public static implicit operator String(LibrarySectionIDType v) { return v.Value; } - public static LibrarySectionIDType FromString(string v) { - switch(v) { - case "integer": return Integer; - case "str": return Str; - case "null": return Null; - default: throw new ArgumentException("Invalid value for LibrarySectionIDType"); - } - } - public override bool Equals(object? obj) - { - if (obj == null || GetType() != obj.GetType()) - { - return false; - } - return Value.Equals(((LibrarySectionIDType)obj).Value); - } - - public override int GetHashCode() - { - return Value.GetHashCode(); - } - } - - - [JsonConverter(typeof(LibrarySectionID.LibrarySectionIDConverter))] - public class LibrarySectionID { - public LibrarySectionID(LibrarySectionIDType type) { - Type = type; - } - - [SpeakeasyMetadata("form:explode=true")] - public long? Integer { get; set; } - - [SpeakeasyMetadata("form:explode=true")] - public string? Str { get; set; } - - public LibrarySectionIDType Type { get; set; } - - - public static LibrarySectionID CreateInteger(long integer) { - LibrarySectionIDType typ = LibrarySectionIDType.Integer; - - LibrarySectionID res = new LibrarySectionID(typ); - res.Integer = integer; - return res; - } - - public static LibrarySectionID CreateStr(string str) { - LibrarySectionIDType typ = LibrarySectionIDType.Str; - - LibrarySectionID res = new LibrarySectionID(typ); - res.Str = str; - return res; - } - - public static LibrarySectionID CreateNull() { - LibrarySectionIDType typ = LibrarySectionIDType.Null; - return new LibrarySectionID(typ); - } - - public class LibrarySectionIDConverter : JsonConverter - { - - public override bool CanConvert(System.Type objectType) => objectType == typeof(LibrarySectionID); - - public override bool CanRead => true; - - public override object? ReadJson(JsonReader reader, System.Type objectType, object? existingValue, JsonSerializer serializer) - { - var json = JRaw.Create(reader).ToString(); - if (json == "null") - { - return null; - } - - var fallbackCandidates = new List<(System.Type, object, string)>(); - - try - { - var converted = Convert.ToInt64(json); - return new LibrarySectionID(LibrarySectionIDType.Integer) - { - Integer = converted - }; - } - catch (System.FormatException) - { - // try next option - } - - if (json[0] == '"' && json[^1] == '"'){ - return new LibrarySectionID(LibrarySectionIDType.Str) - { - Str = json[1..^1] - }; - } - - if (fallbackCandidates.Count > 0) - { - fallbackCandidates.Sort((a, b) => ResponseBodyDeserializer.CompareFallbackCandidates(a.Item1, b.Item1, json)); - foreach(var (deserializationType, returnObject, propertyName) in fallbackCandidates) - { - try - { - return ResponseBodyDeserializer.DeserializeUndiscriminatedUnionFallback(deserializationType, returnObject, propertyName, json); - } - catch (ResponseBodyDeserializer.DeserializationException) - { - // try next fallback option - } - catch (Exception) - { - throw; - } - } - } - - throw new InvalidOperationException("Could not deserialize into any supported types."); - } - - public override void WriteJson(JsonWriter writer, object? value, JsonSerializer serializer) - { - if (value == null) { - writer.WriteRawValue("null"); - return; - } - LibrarySectionID res = (LibrarySectionID)value; - if (LibrarySectionIDType.FromString(res.Type).Equals(LibrarySectionIDType.Null)) - { - writer.WriteRawValue("null"); - return; - } - if (res.Integer != null) - { - writer.WriteRawValue(Utilities.SerializeJSON(res.Integer)); - return; - } - if (res.Str != null) - { - writer.WriteRawValue(Utilities.SerializeJSON(res.Str)); - return; - } - - } - - } - - } -} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/Media.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/Media.cs index daa69c8..cdd81c3 100644 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/Media.cs +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/Media.cs @@ -18,51 +18,57 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests { [JsonProperty("id")] - public double? Id { get; set; } + public int Id { get; set; } = default!; [JsonProperty("duration")] - public double? Duration { get; set; } + public int Duration { get; set; } = default!; [JsonProperty("bitrate")] - public double? Bitrate { get; set; } + public int Bitrate { get; set; } = default!; [JsonProperty("width")] - public double? Width { get; set; } + public int Width { get; set; } = default!; [JsonProperty("height")] - public double? Height { get; set; } + public int Height { get; set; } = default!; [JsonProperty("aspectRatio")] - public double? AspectRatio { get; set; } + public double AspectRatio { get; set; } = default!; + + [JsonProperty("audioProfile")] + public string? AudioProfile { get; set; } [JsonProperty("audioChannels")] - public double? AudioChannels { get; set; } + public int AudioChannels { get; set; } = default!; [JsonProperty("audioCodec")] - public string? AudioCodec { get; set; } + public string AudioCodec { get; set; } = default!; [JsonProperty("videoCodec")] - public string? VideoCodec { get; set; } + public string VideoCodec { get; set; } = default!; [JsonProperty("videoResolution")] - public double? VideoResolution { get; set; } + public string VideoResolution { get; set; } = default!; [JsonProperty("container")] - public string? Container { get; set; } + public string Container { get; set; } = default!; [JsonProperty("videoFrameRate")] - public string? VideoFrameRate { get; set; } + public string VideoFrameRate { get; set; } = default!; + + [JsonProperty("videoProfile")] + public string VideoProfile { get; set; } = default!; + + [JsonProperty("hasVoiceActivity")] + public bool? HasVoiceActivity { get; set; } [JsonProperty("optimizedForStreaming")] - public double? OptimizedForStreaming { get; set; } + public OptimizedForStreaming? OptimizedForStreaming { get; set; } = LukeHagar.PlexAPI.SDK.Models.Requests.OptimizedForStreaming.Disable; [JsonProperty("has64bitOffsets")] public bool? Has64bitOffsets { get; set; } - [JsonProperty("videoProfile")] - public string? VideoProfile { get; set; } - [JsonProperty("Part")] - public List? Part { get; set; } + public List Part { get; set; } = default!; } } \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/Meta.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/Meta.cs index 621a09b..270a4c6 100644 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/Meta.cs +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/Meta.cs @@ -25,9 +25,9 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests { [JsonProperty("Type")] - public List? Type { get; set; } + public List? Type { get; set; } [JsonProperty("FieldType")] - public List? FieldType { get; set; } + public List? FieldType { get; set; } } } \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/MetaDataRating.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/MetaDataRating.cs new file mode 100644 index 0000000..5803165 --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/MetaDataRating.cs @@ -0,0 +1,36 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + + public class MetaDataRating + { + + /// + /// A URI or path to the rating image. + /// + [JsonProperty("image")] + public string Image { get; set; } = default!; + + /// + /// The value of the rating. + /// + [JsonProperty("value")] + public float Value { get; set; } = default!; + + /// + /// The type of rating (e.g., audience, critic). + /// + [JsonProperty("type")] + public string Type { get; set; } = default!; + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/Operator.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/Operator.cs index a8cec87..490986e 100644 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/Operator.cs +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/Operator.cs @@ -16,9 +16,9 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests { [JsonProperty("key")] - public string? Key { get; set; } + public string Key { get; set; } = default!; [JsonProperty("title")] - public string? Title { get; set; } + public string Title { get; set; } = default!; } } \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/OptimizedForStreaming.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/OptimizedForStreaming.cs new file mode 100644 index 0000000..2a92250 --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/OptimizedForStreaming.cs @@ -0,0 +1,20 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Utils; + + public enum OptimizedForStreaming + { + Disable = 0, + Enable = 1, + } + +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/Part.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/Part.cs index 8ca66bb..6cb9c12 100644 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/Part.cs +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/Part.cs @@ -9,40 +9,58 @@ #nullable enable namespace LukeHagar.PlexAPI.SDK.Models.Requests { + using LukeHagar.PlexAPI.SDK.Models.Requests; using LukeHagar.PlexAPI.SDK.Utils; using Newtonsoft.Json; + using System.Collections.Generic; public class Part { [JsonProperty("id")] - public double? Id { get; set; } + public int Id { get; set; } = default!; [JsonProperty("key")] - public string? Key { get; set; } + public string Key { get; set; } = default!; [JsonProperty("duration")] - public double? Duration { get; set; } + public int Duration { get; set; } = default!; [JsonProperty("file")] - public string? File { get; set; } + public string File { get; set; } = default!; [JsonProperty("size")] - public double? Size { get; set; } + public long Size { get; set; } = default!; + /// + /// The container format of the media file.
+ /// + /// + /// + /// + ///
[JsonProperty("container")] - public string? Container { get; set; } + public string Container { get; set; } = default!; + + [JsonProperty("audioProfile")] + public string? AudioProfile { get; set; } [JsonProperty("has64bitOffsets")] public bool? Has64bitOffsets { get; set; } - [JsonProperty("hasThumbnail")] - public double? HasThumbnail { get; set; } - [JsonProperty("optimizedForStreaming")] public bool? OptimizedForStreaming { get; set; } [JsonProperty("videoProfile")] - public string? VideoProfile { get; set; } + public string VideoProfile { get; set; } = default!; + + [JsonProperty("indexes")] + public string? Indexes { get; set; } + + [JsonProperty("hasThumbnail")] + public HasThumbnail? HasThumbnail { get; set; } = LukeHagar.PlexAPI.SDK.Models.Requests.HasThumbnail.False; + + [JsonProperty("Stream")] + public List? Stream { get; set; } } } \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/QueryParamIncludeMeta.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/QueryParamIncludeMeta.cs new file mode 100644 index 0000000..7d168ca --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/QueryParamIncludeMeta.cs @@ -0,0 +1,27 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Utils; + + /// + /// Adds the Meta object to the response
+ /// + /// + /// + /// + ///
+ public enum QueryParamIncludeMeta + { + Disable = 0, + Enable = 1, + } + +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/Role.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/Role.cs index f7a17fc..23a2961 100644 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/Role.cs +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/Role.cs @@ -15,7 +15,40 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests public class Role { + /// + /// The ID of the tag or actor. + /// + [JsonProperty("id")] + public long? Id { get; set; } + + /// + /// The filter used to find the actor or tag. + /// + [JsonProperty("filter")] + public string? Filter { get; set; } + + /// + /// The thumbnail of the actor + /// + [JsonProperty("thumb")] + public string? Thumb { get; set; } + + /// + /// The name of the tag or actor. + /// [JsonProperty("tag")] public string? Tag { get; set; } + + /// + /// Unique identifier for the tag. + /// + [JsonProperty("tagKey")] + public string? TagKey { get; set; } + + /// + /// The role of the actor or tag in the media. + /// + [JsonProperty("role")] + public string? RoleValue { get; set; } } } \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/Sort.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/Sort.cs index 4e6961a..f94bd1f 100644 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/Sort.cs +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/Sort.cs @@ -9,6 +9,7 @@ #nullable enable namespace LukeHagar.PlexAPI.SDK.Models.Requests { + using LukeHagar.PlexAPI.SDK.Models.Requests; using LukeHagar.PlexAPI.SDK.Utils; using Newtonsoft.Json; @@ -18,8 +19,28 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests [JsonProperty("default")] public string? Default { get; set; } + [JsonProperty("active")] + public bool? Active { get; set; } + + /// + /// The direction of the sort. Can be either `asc` or `desc`.
+ /// + /// + /// + /// + ///
+ [JsonProperty("activeDirection")] + public ActiveDirection? ActiveDirection { get; set; } = LukeHagar.PlexAPI.SDK.Models.Requests.ActiveDirection.Ascending; + + /// + /// The direction of the sort. Can be either `asc` or `desc`.
+ /// + /// + /// + /// + ///
[JsonProperty("defaultDirection")] - public string? DefaultDirection { get; set; } + public DefaultDirection? DefaultDirection { get; set; } = LukeHagar.PlexAPI.SDK.Models.Requests.DefaultDirection.Ascending; [JsonProperty("descKey")] public string? DescKey { get; set; } @@ -28,9 +49,9 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests public string? FirstCharacterKey { get; set; } [JsonProperty("key")] - public string? Key { get; set; } + public string Key { get; set; } = default!; [JsonProperty("title")] - public string? Title { get; set; } + public string Title { get; set; } = default!; } } \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/Stream.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/Stream.cs index 2c1bb10..a512ba6 100644 --- a/LukeHagar/PlexAPI/SDK/Models/Requests/Stream.cs +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/Stream.cs @@ -16,99 +16,219 @@ namespace LukeHagar.PlexAPI.SDK.Models.Requests { [JsonProperty("id")] - public int? Id { get; set; } + public long Id { get; set; } = default!; + /// + /// Type of stream (1 = video, 2 = audio, 3 = subtitle) + /// [JsonProperty("streamType")] - public int? StreamType { get; set; } + public long StreamType { get; set; } = default!; + /// + /// Indicates if this is the default stream + /// [JsonProperty("default")] public bool? Default { get; set; } - [JsonProperty("codec")] - public string? Codec { get; set; } - - [JsonProperty("index")] - public int? Index { get; set; } - - [JsonProperty("bitrate")] - public int? Bitrate { get; set; } - - [JsonProperty("bitDepth")] - public int? BitDepth { get; set; } - - [JsonProperty("chromaLocation")] - public string? ChromaLocation { get; set; } - - [JsonProperty("chromaSubsampling")] - public string? ChromaSubsampling { get; set; } - - [JsonProperty("codedHeight")] - public int? CodedHeight { get; set; } - - [JsonProperty("codedWidth")] - public int? CodedWidth { get; set; } - - [JsonProperty("colorPrimaries")] - public string? ColorPrimaries { get; set; } - - [JsonProperty("colorRange")] - public string? ColorRange { get; set; } - - [JsonProperty("colorSpace")] - public string? ColorSpace { get; set; } - - [JsonProperty("colorTrc")] - public string? ColorTrc { get; set; } - - [JsonProperty("frameRate")] - public int? FrameRate { get; set; } - - [JsonProperty("hasScalingMatrix")] - public bool? HasScalingMatrix { get; set; } - - [JsonProperty("height")] - public int? Height { get; set; } - - [JsonProperty("level")] - public int? Level { get; set; } - - [JsonProperty("profile")] - public string? Profile { get; set; } - - [JsonProperty("refFrames")] - public int? RefFrames { get; set; } - - [JsonProperty("scanType")] - public string? ScanType { get; set; } - - [JsonProperty("streamIdentifier")] - public string? StreamIdentifier { get; set; } - - [JsonProperty("width")] - public int? Width { get; set; } - - [JsonProperty("displayTitle")] - public string? DisplayTitle { get; set; } - - [JsonProperty("extendedDisplayTitle")] - public string? ExtendedDisplayTitle { get; set; } - + /// + /// Indicates if the stream is selected + /// [JsonProperty("selected")] public bool? Selected { get; set; } - [JsonProperty("channels")] - public int? Channels { get; set; } + /// + /// Codec used by the stream + /// + [JsonProperty("codec")] + public string Codec { get; set; } = default!; + /// + /// The index of the stream + /// + [JsonProperty("index")] + public long Index { get; set; } = default!; + + /// + /// The bitrate of the stream in kbps + /// + [JsonProperty("bitrate")] + public long? Bitrate { get; set; } + + /// + /// The color primaries of the video stream + /// + [JsonProperty("colorPrimaries")] + public string? ColorPrimaries { get; set; } + + /// + /// The color range of the video stream + /// + [JsonProperty("colorRange")] + public string? ColorRange { get; set; } + + /// + /// The color space of the video stream + /// + [JsonProperty("colorSpace")] + public string? ColorSpace { get; set; } + + /// + /// The transfer characteristics (TRC) of the video stream + /// + [JsonProperty("colorTrc")] + public string? ColorTrc { get; set; } + + /// + /// The bit depth of the video stream + /// + [JsonProperty("bitDepth")] + public long? BitDepth { get; set; } + + /// + /// The chroma location of the video stream + /// + [JsonProperty("chromaLocation")] + public string? ChromaLocation { get; set; } + + /// + /// The identifier of the video stream + /// + [JsonProperty("streamIdentifier")] + public string? StreamIdentifier { get; set; } + + /// + /// The chroma subsampling format + /// + [JsonProperty("chromaSubsampling")] + public string? ChromaSubsampling { get; set; } + + /// + /// The coded height of the video stream + /// + [JsonProperty("codedHeight")] + public long? CodedHeight { get; set; } + + /// + /// The coded width of the video stream + /// + [JsonProperty("codedWidth")] + public long? CodedWidth { get; set; } + + /// + /// The frame rate of the video stream + /// + [JsonProperty("frameRate")] + public double? FrameRate { get; set; } + + /// + /// Indicates if the stream has a scaling matrix + /// + [JsonProperty("hasScalingMatrix")] + public bool? HasScalingMatrix { get; set; } + + [JsonProperty("hearingImpaired")] + public bool? HearingImpaired { get; set; } + + [JsonProperty("closedCaptions")] + public bool? ClosedCaptions { get; set; } + + [JsonProperty("embeddedInVideo")] + public string? EmbeddedInVideo { get; set; } + + /// + /// The height of the video stream + /// + [JsonProperty("height")] + public long? Height { get; set; } + + /// + /// The level of the video codec + /// + [JsonProperty("level")] + public long? Level { get; set; } + + /// + /// The profile of the video codec + /// + [JsonProperty("profile")] + public string? Profile { get; set; } + + /// + /// Number of reference frames + /// + [JsonProperty("refFrames")] + public long? RefFrames { get; set; } + + /// + /// The scan type (progressive or interlaced) + /// + [JsonProperty("scanType")] + public string? ScanType { get; set; } + + /// + /// The width of the video stream + /// + [JsonProperty("width")] + public long? Width { get; set; } + + /// + /// Display title of the stream + /// + [JsonProperty("displayTitle")] + public string? DisplayTitle { get; set; } + + /// + /// Extended display title of the stream + /// + [JsonProperty("extendedDisplayTitle")] + public string? ExtendedDisplayTitle { get; set; } + + /// + /// Number of audio channels (for audio streams) + /// + [JsonProperty("channels")] + public long? Channels { get; set; } + + /// + /// The language of the stream (for audio/subtitle streams) + /// [JsonProperty("language")] public string? Language { get; set; } + /// + /// Language tag of the stream + /// [JsonProperty("languageTag")] public string? LanguageTag { get; set; } + /// + /// Language code of the stream + /// [JsonProperty("languageCode")] public string? LanguageCode { get; set; } + /// + /// The audio channel layout + /// + [JsonProperty("audioChannelLayout")] + public string? AudioChannelLayout { get; set; } + + /// + /// Sampling rate of the audio stream in Hz + /// [JsonProperty("samplingRate")] - public int? SamplingRate { get; set; } + public long? SamplingRate { get; set; } + + /// + /// Title of the subtitle track (for subtitle streams) + /// + [JsonProperty("title")] + public string? Title { get; set; } + + /// + /// Indicates if the subtitle stream can auto-sync + /// + [JsonProperty("canAutoSync")] + public bool? CanAutoSync { get; set; } } } \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Playlists.cs b/LukeHagar/PlexAPI/SDK/Playlists.cs index 0daeb55..86c1393 100644 --- a/LukeHagar/PlexAPI/SDK/Playlists.cs +++ b/LukeHagar/PlexAPI/SDK/Playlists.cs @@ -146,10 +146,10 @@ namespace LukeHagar.PlexAPI.SDK { public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.7.1"; - private const string _sdkGenVersion = "2.421.3"; + private const string _sdkVersion = "0.8.0"; + private const string _sdkGenVersion = "2.422.22"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.7.1 2.421.3 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.8.0 2.422.22 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; diff --git a/LukeHagar/PlexAPI/SDK/Plex.cs b/LukeHagar/PlexAPI/SDK/Plex.cs index 9bb6a59..6eb7ce2 100644 --- a/LukeHagar/PlexAPI/SDK/Plex.cs +++ b/LukeHagar/PlexAPI/SDK/Plex.cs @@ -143,10 +143,10 @@ namespace LukeHagar.PlexAPI.SDK }; public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.7.1"; - private const string _sdkGenVersion = "2.421.3"; + private const string _sdkVersion = "0.8.0"; + private const string _sdkGenVersion = "2.422.22"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.7.1 2.421.3 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.8.0 2.422.22 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; diff --git a/LukeHagar/PlexAPI/SDK/PlexAPI.cs b/LukeHagar/PlexAPI/SDK/PlexAPI.cs index b095f2e..700700c 100644 --- a/LukeHagar/PlexAPI/SDK/PlexAPI.cs +++ b/LukeHagar/PlexAPI/SDK/PlexAPI.cs @@ -275,10 +275,10 @@ namespace LukeHagar.PlexAPI.SDK public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.7.1"; - private const string _sdkGenVersion = "2.421.3"; + private const string _sdkVersion = "0.8.0"; + private const string _sdkGenVersion = "2.422.22"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.7.1 2.421.3 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.8.0 2.422.22 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private int _serverIndex = 0; private ISpeakeasyHttpClient _client; diff --git a/LukeHagar/PlexAPI/SDK/Search.cs b/LukeHagar/PlexAPI/SDK/Search.cs index 475229e..9dee7fb 100644 --- a/LukeHagar/PlexAPI/SDK/Search.cs +++ b/LukeHagar/PlexAPI/SDK/Search.cs @@ -87,10 +87,10 @@ namespace LukeHagar.PlexAPI.SDK { public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.7.1"; - private const string _sdkGenVersion = "2.421.3"; + private const string _sdkVersion = "0.8.0"; + private const string _sdkGenVersion = "2.422.22"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.7.1 2.421.3 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.8.0 2.422.22 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; diff --git a/LukeHagar/PlexAPI/SDK/Server.cs b/LukeHagar/PlexAPI/SDK/Server.cs index 2549f3c..798ada8 100644 --- a/LukeHagar/PlexAPI/SDK/Server.cs +++ b/LukeHagar/PlexAPI/SDK/Server.cs @@ -126,10 +126,10 @@ namespace LukeHagar.PlexAPI.SDK { public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.7.1"; - private const string _sdkGenVersion = "2.421.3"; + private const string _sdkVersion = "0.8.0"; + private const string _sdkGenVersion = "2.422.22"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.7.1 2.421.3 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.8.0 2.422.22 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; diff --git a/LukeHagar/PlexAPI/SDK/Sessions.cs b/LukeHagar/PlexAPI/SDK/Sessions.cs index a921bdb..1472d35 100644 --- a/LukeHagar/PlexAPI/SDK/Sessions.cs +++ b/LukeHagar/PlexAPI/SDK/Sessions.cs @@ -80,10 +80,10 @@ namespace LukeHagar.PlexAPI.SDK { public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.7.1"; - private const string _sdkGenVersion = "2.421.3"; + private const string _sdkVersion = "0.8.0"; + private const string _sdkGenVersion = "2.422.22"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.7.1 2.421.3 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.8.0 2.422.22 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; diff --git a/LukeHagar/PlexAPI/SDK/Statistics.cs b/LukeHagar/PlexAPI/SDK/Statistics.cs index 7bf6100..f5952af 100644 --- a/LukeHagar/PlexAPI/SDK/Statistics.cs +++ b/LukeHagar/PlexAPI/SDK/Statistics.cs @@ -71,10 +71,10 @@ namespace LukeHagar.PlexAPI.SDK { public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.7.1"; - private const string _sdkGenVersion = "2.421.3"; + private const string _sdkVersion = "0.8.0"; + private const string _sdkGenVersion = "2.422.22"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.7.1 2.421.3 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.8.0 2.422.22 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; diff --git a/LukeHagar/PlexAPI/SDK/Updater.cs b/LukeHagar/PlexAPI/SDK/Updater.cs index 5c57132..d7bd787 100644 --- a/LukeHagar/PlexAPI/SDK/Updater.cs +++ b/LukeHagar/PlexAPI/SDK/Updater.cs @@ -74,10 +74,10 @@ namespace LukeHagar.PlexAPI.SDK { public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.7.1"; - private const string _sdkGenVersion = "2.421.3"; + private const string _sdkVersion = "0.8.0"; + private const string _sdkGenVersion = "2.422.22"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.7.1 2.421.3 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.8.0 2.422.22 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; diff --git a/LukeHagar/PlexAPI/SDK/Utils/SecurityMetadata.cs b/LukeHagar/PlexAPI/SDK/Utils/SecurityMetadata.cs index de393c1..c72e9e1 100644 --- a/LukeHagar/PlexAPI/SDK/Utils/SecurityMetadata.cs +++ b/LukeHagar/PlexAPI/SDK/Utils/SecurityMetadata.cs @@ -186,7 +186,9 @@ namespace LukeHagar.PlexAPI.SDK.Utils headerParams.Add(key, Utilities.PrefixBearer(valStr)); break; case "oauth2": - headerParams.Add(key, Utilities.PrefixBearer(valStr)); + if (!"client_credentials".Equals(schemeMetadata.SubType)) { + headerParams.Add(key, Utilities.PrefixBearer(valStr)); + } break; case "http": switch (schemeMetadata.SubType) diff --git a/LukeHagar/PlexAPI/SDK/Video.cs b/LukeHagar/PlexAPI/SDK/Video.cs index 439ee5d..b1d80d4 100644 --- a/LukeHagar/PlexAPI/SDK/Video.cs +++ b/LukeHagar/PlexAPI/SDK/Video.cs @@ -62,10 +62,10 @@ namespace LukeHagar.PlexAPI.SDK { public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.7.1"; - private const string _sdkGenVersion = "2.421.3"; + private const string _sdkVersion = "0.8.0"; + private const string _sdkGenVersion = "2.422.22"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.7.1 2.421.3 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.8.0 2.422.22 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; diff --git a/LukeHagar/PlexAPI/SDK/Watchlist.cs b/LukeHagar/PlexAPI/SDK/Watchlist.cs index cab0fe2..49500b2 100644 --- a/LukeHagar/PlexAPI/SDK/Watchlist.cs +++ b/LukeHagar/PlexAPI/SDK/Watchlist.cs @@ -59,10 +59,10 @@ namespace LukeHagar.PlexAPI.SDK }; public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.7.1"; - private const string _sdkGenVersion = "2.421.3"; + private const string _sdkVersion = "0.8.0"; + private const string _sdkGenVersion = "2.422.22"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.7.1 2.421.3 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.8.0 2.422.22 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; diff --git a/README.md b/README.md index e77ac62..b730c8f 100644 --- a/README.md +++ b/README.md @@ -78,12 +78,13 @@ var res = await sdk.Server.GetServerCapabilitiesAsync(); ### [Hubs](docs/sdks/hubs/README.md) * [GetGlobalHubs](docs/sdks/hubs/README.md#getglobalhubs) - Get Global Hubs +* [GetRecentlyAdded](docs/sdks/hubs/README.md#getrecentlyadded) - Get Recently Added * [GetLibraryHubs](docs/sdks/hubs/README.md#getlibraryhubs) - Get library specific hubs ### [Library](docs/sdks/library/README.md) * [GetFileHash](docs/sdks/library/README.md#getfilehash) - Get Hash Value -* [GetRecentlyAdded](docs/sdks/library/README.md#getrecentlyadded) - Get Recently Added +* [GetRecentlyAddedLibrary](docs/sdks/library/README.md#getrecentlyaddedlibrary) - Get Recently Added * [GetAllLibraries](docs/sdks/library/README.md#getalllibraries) - Get All Libraries * [GetLibraryDetails](docs/sdks/library/README.md#getlibrarydetails) - Get Library Details * [DeleteLibrary](docs/sdks/library/README.md#deletelibrary) - Delete Library Section diff --git a/RELEASES.md b/RELEASES.md index f0819eb..3a3f2a8 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -254,4 +254,14 @@ Based on: ### Generated - [csharp v0.7.1] . ### Releases -- [NuGet v0.7.1] https://www.nuget.org/packages/LukeHagar.PlexAPI.SDK/0.7.1 - . \ No newline at end of file +- [NuGet v0.7.1] https://www.nuget.org/packages/LukeHagar.PlexAPI.SDK/0.7.1 - . + +## 2024-09-25 15:32:16 +### Changes +Based on: +- OpenAPI Doc +- Speakeasy CLI 1.402.14 (2.422.22) https://github.com/speakeasy-api/speakeasy +### Generated +- [csharp v0.8.0] . +### Releases +- [NuGet v0.8.0] https://www.nuget.org/packages/LukeHagar.PlexAPI.SDK/0.8.0 - . \ No newline at end of file diff --git a/codeSamples.yaml b/codeSamples.yaml index 0cad038..c3e9d66 100644 --- a/codeSamples.yaml +++ b/codeSamples.yaml @@ -449,6 +449,37 @@ actions: onlyTransient: LukeHagar.PlexAPI.SDK.Models.Requests.OnlyTransient.One ); + // handle response + - target: $["paths"]["/hubs/home/recentlyAdded"]["get"] + update: + x-codeSamples: + - lang: csharp + label: added + source: |- + using LukeHagar.PlexAPI.SDK; + using LukeHagar.PlexAPI.SDK.Models.Requests; + using LukeHagar.PlexAPI.SDK.Models.Components; + + var sdk = new PlexAPI( + accessToken: "", + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" + ); + + GetRecentlyAddedRequest req = new GetRecentlyAddedRequest() { + ContentDirectoryID = 470161, + SectionID = 2, + Type = LukeHagar.PlexAPI.SDK.Models.Requests.Type.TvShow, + IncludeMeta = LukeHagar.PlexAPI.SDK.Models.Requests.IncludeMeta.Enable, + XPlexContainerStart = 0, + XPlexContainerSize = 50, + }; + + var res = await sdk.Hubs.GetRecentlyAddedAsync(req); + // handle response - target: $["paths"]["/hubs/search"]["get"] update: @@ -471,7 +502,7 @@ actions: var res = await sdk.Search.PerformSearchAsync( query: "dylan", - sectionId: 5838.67D, + sectionId: 9372.69D, limit: 5D ); @@ -732,10 +763,11 @@ actions: update: x-codeSamples: - lang: csharp - label: getRecentlyAdded + label: library source: |- using LukeHagar.PlexAPI.SDK; using LukeHagar.PlexAPI.SDK.Models.Requests; + using System.Collections.Generic; using LukeHagar.PlexAPI.SDK.Models.Components; var sdk = new PlexAPI( @@ -747,10 +779,30 @@ actions: deviceName: "Linux" ); - var res = await sdk.Library.GetRecentlyAddedAsync( - xPlexContainerStart: 0, - xPlexContainerSize: 50 - ); + GetRecentlyAddedLibraryRequest req = new GetRecentlyAddedLibraryRequest() { + ContentDirectoryID = 2, + PinnedContentDirectoryID = new List() { + 3, + 5, + 7, + 13, + 12, + 1, + 6, + 14, + 2, + 10, + 16, + 17, + }, + SectionID = 2, + Type = LukeHagar.PlexAPI.SDK.Models.Requests.QueryParamType.TvShow, + IncludeMeta = LukeHagar.PlexAPI.SDK.Models.Requests.QueryParamIncludeMeta.Enable, + XPlexContainerStart = 0, + XPlexContainerSize = 50, + }; + + var res = await sdk.Library.GetRecentlyAddedLibraryAsync(req); // handle response - target: $["paths"]["/library/sections"]["get"] @@ -896,7 +948,7 @@ actions: var res = await sdk.Library.GetSearchLibraryAsync( sectionKey: 9518, - type: LukeHagar.PlexAPI.SDK.Models.Requests.QueryParamType.TvShow + type: LukeHagar.PlexAPI.SDK.Models.Requests.GetSearchLibraryQueryParamType.TvShow ); // handle response @@ -923,8 +975,8 @@ actions: SectionKey = 9518, Tag = LukeHagar.PlexAPI.SDK.Models.Requests.Tag.Edition, IncludeGuids = LukeHagar.PlexAPI.SDK.Models.Requests.IncludeGuids.Enable, - IncludeMeta = LukeHagar.PlexAPI.SDK.Models.Requests.IncludeMeta.Enable, - Type = LukeHagar.PlexAPI.SDK.Models.Requests.Type.TvShow, + Type = LukeHagar.PlexAPI.SDK.Models.Requests.GetLibraryItemsQueryParamType.TvShow, + IncludeMeta = LukeHagar.PlexAPI.SDK.Models.Requests.GetLibraryItemsQueryParamIncludeMeta.Enable, XPlexContainerStart = 0, XPlexContainerSize = 50, }; @@ -1070,8 +1122,8 @@ actions: Width = 110D, Height = 165D, Opacity = 100, - Blur = 0D, - MinSize = LukeHagar.PlexAPI.SDK.Models.Requests.MinSize.One, + Blur = 20D, + MinSize = LukeHagar.PlexAPI.SDK.Models.Requests.MinSize.Zero, Upscale = LukeHagar.PlexAPI.SDK.Models.Requests.Upscale.One, Url = "/library/metadata/49564/thumb/1654258204", }; @@ -1413,7 +1465,7 @@ actions: deviceName: "Linux" ); - var res = await sdk.Authentication.GetSourceConnectionInformationAsync(source: "provider://provider-identifier"); + var res = await sdk.Authentication.GetSourceConnectionInformationAsync(source: "server://client-identifier"); // handle response - target: $["paths"]["/security/token"]["get"] diff --git a/docs/Models/Errors/GetRecentlyAddedErrors.md b/docs/Models/Errors/GetRecentlyAddedErrors.md deleted file mode 100644 index fb3a9c0..0000000 --- a/docs/Models/Errors/GetRecentlyAddedErrors.md +++ /dev/null @@ -1,10 +0,0 @@ -# GetRecentlyAddedErrors - - -## 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/GetRecentlyAddedUnauthorized.md b/docs/Models/Errors/GetRecentlyAddedLibraryBadRequest.md similarity index 94% rename from docs/Models/Errors/GetRecentlyAddedUnauthorized.md rename to docs/Models/Errors/GetRecentlyAddedLibraryBadRequest.md index 03e5e93..6a210f4 100644 --- a/docs/Models/Errors/GetRecentlyAddedUnauthorized.md +++ b/docs/Models/Errors/GetRecentlyAddedLibraryBadRequest.md @@ -1,6 +1,6 @@ -# GetRecentlyAddedUnauthorized +# GetRecentlyAddedLibraryBadRequest -Unauthorized - Returned if the X-Plex-Token is missing from the header or query. +Bad Request - A parameter was not specified, or was specified incorrectly. ## Fields diff --git a/docs/Models/Errors/GetRecentlyAddedLibraryErrors.md b/docs/Models/Errors/GetRecentlyAddedLibraryErrors.md index 16cd4d2..e1f16a1 100644 --- a/docs/Models/Errors/GetRecentlyAddedLibraryErrors.md +++ b/docs/Models/Errors/GetRecentlyAddedLibraryErrors.md @@ -3,8 +3,8 @@ ## 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 +| 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/GetRecentlyAddedLibraryLibraryErrors.md b/docs/Models/Errors/GetRecentlyAddedLibraryLibraryErrors.md new file mode 100644 index 0000000..70126c4 --- /dev/null +++ b/docs/Models/Errors/GetRecentlyAddedLibraryLibraryErrors.md @@ -0,0 +1,10 @@ +# GetRecentlyAddedLibraryLibraryErrors + + +## 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/GetRecentlyAddedBadRequest.md b/docs/Models/Errors/GetRecentlyAddedLibraryUnauthorized.md similarity index 87% rename from docs/Models/Errors/GetRecentlyAddedBadRequest.md rename to docs/Models/Errors/GetRecentlyAddedLibraryUnauthorized.md index 1794349..ce2cb48 100644 --- a/docs/Models/Errors/GetRecentlyAddedBadRequest.md +++ b/docs/Models/Errors/GetRecentlyAddedLibraryUnauthorized.md @@ -1,11 +1,11 @@ -# GetRecentlyAddedBadRequest +# GetRecentlyAddedLibraryUnauthorized -Bad Request - A parameter was not specified, or was specified incorrectly. +Unauthorized - Returned if the X-Plex-Token is missing from the header or query. ## Fields | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -| `Errors` | List<[GetRecentlyAddedErrors](../../Models/Errors/GetRecentlyAddedErrors.md)> | :heavy_minus_sign: | N/A | +| `Errors` | List<[GetRecentlyAddedLibraryLibraryErrors](../../Models/Errors/GetRecentlyAddedLibraryLibraryErrors.md)> | :heavy_minus_sign: | N/A | | `RawResponse` | [HttpResponseMessage](https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpresponsemessage?view=net-5.0) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing | \ No newline at end of file diff --git a/docs/Models/Requests/Director.md b/docs/Models/Requests/Director.md index ef8aa90..b2c1347 100644 --- a/docs/Models/Requests/Director.md +++ b/docs/Models/Requests/Director.md @@ -5,4 +5,4 @@ | Field | Type | Required | Description | Example | | ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | -| `Tag` | *string* | :heavy_minus_sign: | N/A | Peyton Reed | \ No newline at end of file +| `Tag` | *string* | :heavy_minus_sign: | N/A | James Cameron | \ No newline at end of file diff --git a/docs/Models/Requests/Field.md b/docs/Models/Requests/Field.md index 6b47256..09bdab1 100644 --- a/docs/Models/Requests/Field.md +++ b/docs/Models/Requests/Field.md @@ -5,7 +5,7 @@ | Field | Type | Required | Description | Example | | ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | -| `Key` | *string* | :heavy_minus_sign: | N/A | label | -| `Title` | *string* | :heavy_minus_sign: | N/A | Label | -| `Type` | *string* | :heavy_minus_sign: | N/A | tag | -| `SubType` | *string* | :heavy_minus_sign: | N/A | bitrate | \ No newline at end of file +| `Key` | *string* | :heavy_check_mark: | N/A | show.title | +| `Title` | *string* | :heavy_check_mark: | N/A | Show Title | +| `Type` | *string* | :heavy_check_mark: | N/A | string | +| `SubType` | *string* | :heavy_minus_sign: | N/A | rating | \ No newline at end of file diff --git a/docs/Models/Requests/FieldType.md b/docs/Models/Requests/FieldType.md index 5067668..317972c 100644 --- a/docs/Models/Requests/FieldType.md +++ b/docs/Models/Requests/FieldType.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | Example | | --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | -| `Type` | *string* | :heavy_minus_sign: | N/A | resolution | -| `Operator` | List<[Operator](../../Models/Requests/Operator.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file +| `Type` | *string* | :heavy_check_mark: | N/A | tag | +| `Operator` | List<[Operator](../../Models/Requests/Operator.md)> | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Requests/Genre.md b/docs/Models/Requests/Genre.md index 2915a5e..91a89d1 100644 --- a/docs/Models/Requests/Genre.md +++ b/docs/Models/Requests/Genre.md @@ -5,4 +5,4 @@ | Field | Type | Required | Description | Example | | ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | -| `Tag` | *string* | :heavy_minus_sign: | N/A | Comedy | \ No newline at end of file +| `Tag` | *string* | :heavy_minus_sign: | N/A | Adventure | \ No newline at end of file diff --git a/docs/Models/Requests/GetAllLibrariesDirectory.md b/docs/Models/Requests/GetAllLibrariesDirectory.md index 777af90..b7dd3ed 100644 --- a/docs/Models/Requests/GetAllLibrariesDirectory.md +++ b/docs/Models/Requests/GetAllLibrariesDirectory.md @@ -23,6 +23,6 @@ | `ScannedAt` | *long* | :heavy_check_mark: | Unix epoch datetime in seconds | 1556281940 | | `Content` | *bool* | :heavy_check_mark: | N/A | true | | `Directory` | *bool* | :heavy_check_mark: | N/A | true | -| `ContentChangedAt` | *int* | :heavy_check_mark: | N/A | 3192854 | +| `ContentChangedAt` | *long* | :heavy_check_mark: | Unix epoch datetime in seconds | 1556281940 | | `Hidden` | *int* | :heavy_check_mark: | N/A | 0 | | `Location` | List<[Location](../../Models/Requests/Location.md)> | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Requests/GetLibraryDetailsField.md b/docs/Models/Requests/GetLibraryDetailsField.md new file mode 100644 index 0000000..7b15cb5 --- /dev/null +++ b/docs/Models/Requests/GetLibraryDetailsField.md @@ -0,0 +1,11 @@ +# GetLibraryDetailsField + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | +| `Key` | *string* | :heavy_minus_sign: | N/A | label | +| `Title` | *string* | :heavy_minus_sign: | N/A | Label | +| `Type` | *string* | :heavy_minus_sign: | N/A | tag | +| `SubType` | *string* | :heavy_minus_sign: | N/A | bitrate | \ No newline at end of file diff --git a/docs/Models/Requests/GetLibraryDetailsFieldType.md b/docs/Models/Requests/GetLibraryDetailsFieldType.md new file mode 100644 index 0000000..6615c0a --- /dev/null +++ b/docs/Models/Requests/GetLibraryDetailsFieldType.md @@ -0,0 +1,9 @@ +# GetLibraryDetailsFieldType + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | +| `Type` | *string* | :heavy_minus_sign: | N/A | resolution | +| `Operator` | List<[GetLibraryDetailsOperator](../../Models/Requests/GetLibraryDetailsOperator.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/Models/Requests/GetLibraryDetailsMediaContainer.md b/docs/Models/Requests/GetLibraryDetailsMediaContainer.md index a7eff77..8afe218 100644 --- a/docs/Models/Requests/GetLibraryDetailsMediaContainer.md +++ b/docs/Models/Requests/GetLibraryDetailsMediaContainer.md @@ -19,4 +19,4 @@ | `ViewMode` | *int* | :heavy_minus_sign: | N/A | 65592 | | `Directory` | List<[GetLibraryDetailsDirectory](../../Models/Requests/GetLibraryDetailsDirectory.md)> | :heavy_minus_sign: | N/A | | | `Type` | List<[GetLibraryDetailsType](../../Models/Requests/GetLibraryDetailsType.md)> | :heavy_minus_sign: | N/A | | -| `FieldType` | List<[FieldType](../../Models/Requests/FieldType.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file +| `FieldType` | List<[GetLibraryDetailsFieldType](../../Models/Requests/GetLibraryDetailsFieldType.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/Models/Requests/GetLibraryDetailsOperator.md b/docs/Models/Requests/GetLibraryDetailsOperator.md new file mode 100644 index 0000000..3d5175e --- /dev/null +++ b/docs/Models/Requests/GetLibraryDetailsOperator.md @@ -0,0 +1,9 @@ +# GetLibraryDetailsOperator + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | +| `Key` | *string* | :heavy_minus_sign: | N/A | = | +| `Title` | *string* | :heavy_minus_sign: | N/A | is | \ No newline at end of file diff --git a/docs/Models/Requests/GetLibraryDetailsSort.md b/docs/Models/Requests/GetLibraryDetailsSort.md new file mode 100644 index 0000000..45136f4 --- /dev/null +++ b/docs/Models/Requests/GetLibraryDetailsSort.md @@ -0,0 +1,13 @@ +# GetLibraryDetailsSort + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- | +| `Default` | *string* | :heavy_minus_sign: | N/A | asc | +| `DefaultDirection` | *string* | :heavy_minus_sign: | N/A | desc | +| `DescKey` | *string* | :heavy_minus_sign: | N/A | random:desc | +| `FirstCharacterKey` | *string* | :heavy_minus_sign: | N/A | /library/sections/1/firstCharacter | +| `Key` | *string* | :heavy_minus_sign: | N/A | random | +| `Title` | *string* | :heavy_minus_sign: | N/A | Randomly | \ No newline at end of file diff --git a/docs/Models/Requests/GetLibraryDetailsType.md b/docs/Models/Requests/GetLibraryDetailsType.md index 39f8648..3083656 100644 --- a/docs/Models/Requests/GetLibraryDetailsType.md +++ b/docs/Models/Requests/GetLibraryDetailsType.md @@ -10,5 +10,5 @@ | `Title` | *string* | :heavy_minus_sign: | N/A | Movies | | `Active` | *bool* | :heavy_minus_sign: | N/A | false | | `Filter` | List<[GetLibraryDetailsFilter](../../Models/Requests/GetLibraryDetailsFilter.md)> | :heavy_minus_sign: | N/A | | -| `Sort` | List<[Sort](../../Models/Requests/Sort.md)> | :heavy_minus_sign: | N/A | | -| `Field` | List<[Field](../../Models/Requests/Field.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file +| `Sort` | List<[GetLibraryDetailsSort](../../Models/Requests/GetLibraryDetailsSort.md)> | :heavy_minus_sign: | N/A | | +| `Field` | List<[GetLibraryDetailsField](../../Models/Requests/GetLibraryDetailsField.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/Models/Requests/GetLibraryItemsActiveDirection.md b/docs/Models/Requests/GetLibraryItemsActiveDirection.md new file mode 100644 index 0000000..308a017 --- /dev/null +++ b/docs/Models/Requests/GetLibraryItemsActiveDirection.md @@ -0,0 +1,12 @@ +# GetLibraryItemsActiveDirection + +The direction of the sort. Can be either `asc` or `desc`. + + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `Ascending` | asc | +| `Descending` | desc | \ No newline at end of file diff --git a/docs/Models/Requests/GetLibraryItemsCollection.md b/docs/Models/Requests/GetLibraryItemsCollection.md new file mode 100644 index 0000000..6d45d75 --- /dev/null +++ b/docs/Models/Requests/GetLibraryItemsCollection.md @@ -0,0 +1,8 @@ +# GetLibraryItemsCollection + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | +| `Tag` | *string* | :heavy_minus_sign: | N/A | Working NL Subs | \ No newline at end of file diff --git a/docs/Models/Requests/GetLibraryItemsDefaultDirection.md b/docs/Models/Requests/GetLibraryItemsDefaultDirection.md new file mode 100644 index 0000000..e9cec29 --- /dev/null +++ b/docs/Models/Requests/GetLibraryItemsDefaultDirection.md @@ -0,0 +1,12 @@ +# GetLibraryItemsDefaultDirection + +The direction of the sort. Can be either `asc` or `desc`. + + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `Ascending` | asc | +| `Descending` | desc | \ No newline at end of file diff --git a/docs/Models/Requests/GetLibraryItemsFlattenSeasons.md b/docs/Models/Requests/GetLibraryItemsFlattenSeasons.md new file mode 100644 index 0000000..d1ce12f --- /dev/null +++ b/docs/Models/Requests/GetLibraryItemsFlattenSeasons.md @@ -0,0 +1,9 @@ +# GetLibraryItemsFlattenSeasons + + +## Values + +| Name | Value | +| ------- | ------- | +| `False` | 0 | +| `True` | 1 | \ No newline at end of file diff --git a/docs/Models/Requests/GetLibraryItemsHasThumbnail.md b/docs/Models/Requests/GetLibraryItemsHasThumbnail.md new file mode 100644 index 0000000..ae283db --- /dev/null +++ b/docs/Models/Requests/GetLibraryItemsHasThumbnail.md @@ -0,0 +1,9 @@ +# GetLibraryItemsHasThumbnail + + +## Values + +| Name | Value | +| ------- | ------- | +| `False` | 0 | +| `True` | 1 | \ No newline at end of file diff --git a/docs/Models/Requests/GetLibraryItemsImage.md b/docs/Models/Requests/GetLibraryItemsImage.md index b9f509d..026c2ba 100644 --- a/docs/Models/Requests/GetLibraryItemsImage.md +++ b/docs/Models/Requests/GetLibraryItemsImage.md @@ -3,8 +3,8 @@ ## Fields -| Field | Type | Required | Description | Example | -| ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | -| `Alt` | *string* | :heavy_check_mark: | N/A | Episode 1 | -| `Type` | [GetLibraryItemsLibraryResponseType](../../Models/Requests/GetLibraryItemsLibraryResponseType.md) | :heavy_check_mark: | N/A | background | -| `Url` | *string* | :heavy_check_mark: | N/A | /library/metadata/45521/thumb/1644710589 | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | +| `Alt` | *string* | :heavy_check_mark: | N/A | Episode 1 | +| `Type` | [GetLibraryItemsLibraryResponse200Type](../../Models/Requests/GetLibraryItemsLibraryResponse200Type.md) | :heavy_check_mark: | N/A | background | +| `Url` | *string* | :heavy_check_mark: | N/A | /library/metadata/45521/thumb/1644710589 | \ No newline at end of file diff --git a/docs/Models/Requests/GetLibraryItemsLibraryActiveDirection.md b/docs/Models/Requests/GetLibraryItemsLibraryActiveDirection.md new file mode 100644 index 0000000..82af157 --- /dev/null +++ b/docs/Models/Requests/GetLibraryItemsLibraryActiveDirection.md @@ -0,0 +1,12 @@ +# GetLibraryItemsLibraryActiveDirection + +The direction of the sort. Can be either `asc` or `desc`. + + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `Ascending` | asc | +| `Descending` | desc | \ No newline at end of file diff --git a/docs/Models/Requests/GetLibraryItemsLibraryDefaultDirection.md b/docs/Models/Requests/GetLibraryItemsLibraryDefaultDirection.md new file mode 100644 index 0000000..d2535c6 --- /dev/null +++ b/docs/Models/Requests/GetLibraryItemsLibraryDefaultDirection.md @@ -0,0 +1,12 @@ +# GetLibraryItemsLibraryDefaultDirection + +The direction of the sort. Can be either `asc` or `desc`. + + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `Ascending` | asc | +| `Descending` | desc | \ No newline at end of file diff --git a/docs/Models/Requests/GetLibraryItemsLibraryField.md b/docs/Models/Requests/GetLibraryItemsLibraryField.md new file mode 100644 index 0000000..65210b9 --- /dev/null +++ b/docs/Models/Requests/GetLibraryItemsLibraryField.md @@ -0,0 +1,11 @@ +# GetLibraryItemsLibraryField + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | +| `Key` | *string* | :heavy_check_mark: | N/A | show.title | +| `Title` | *string* | :heavy_check_mark: | N/A | Show Title | +| `Type` | *string* | :heavy_check_mark: | N/A | string | +| `SubType` | *string* | :heavy_minus_sign: | N/A | rating | \ No newline at end of file diff --git a/docs/Models/Requests/GetLibraryItemsLibraryFieldType.md b/docs/Models/Requests/GetLibraryItemsLibraryFieldType.md new file mode 100644 index 0000000..ac1b439 --- /dev/null +++ b/docs/Models/Requests/GetLibraryItemsLibraryFieldType.md @@ -0,0 +1,9 @@ +# GetLibraryItemsLibraryFieldType + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | +| `Type` | *string* | :heavy_check_mark: | N/A | tag | +| `Operator` | List<[GetLibraryItemsLibraryOperator](../../Models/Requests/GetLibraryItemsLibraryOperator.md)> | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Requests/GetLibraryItemsLibraryFilter.md b/docs/Models/Requests/GetLibraryItemsLibraryFilter.md new file mode 100644 index 0000000..1bef622 --- /dev/null +++ b/docs/Models/Requests/GetLibraryItemsLibraryFilter.md @@ -0,0 +1,12 @@ +# GetLibraryItemsLibraryFilter + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------- | -------------------------------- | -------------------------------- | -------------------------------- | -------------------------------- | +| `Filter` | *string* | :heavy_check_mark: | N/A | genre | +| `FilterType` | *string* | :heavy_check_mark: | N/A | string | +| `Key` | *string* | :heavy_check_mark: | N/A | /library/sections/2/genre?type=2 | +| `Title` | *string* | :heavy_check_mark: | N/A | Genre | +| `Type` | *string* | :heavy_check_mark: | N/A | filter | \ No newline at end of file diff --git a/docs/Models/Requests/GetLibraryItemsLibraryOperator.md b/docs/Models/Requests/GetLibraryItemsLibraryOperator.md new file mode 100644 index 0000000..78e18fd --- /dev/null +++ b/docs/Models/Requests/GetLibraryItemsLibraryOperator.md @@ -0,0 +1,9 @@ +# GetLibraryItemsLibraryOperator + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | +| `Key` | *string* | :heavy_check_mark: | N/A | = | +| `Title` | *string* | :heavy_check_mark: | N/A | is | \ No newline at end of file diff --git a/docs/Models/Requests/GetLibraryItemsLibraryResponse200Type.md b/docs/Models/Requests/GetLibraryItemsLibraryResponse200Type.md new file mode 100644 index 0000000..5318a52 --- /dev/null +++ b/docs/Models/Requests/GetLibraryItemsLibraryResponse200Type.md @@ -0,0 +1,11 @@ +# GetLibraryItemsLibraryResponse200Type + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `CoverPoster` | coverPoster | +| `Background` | background | +| `Snapshot` | snapshot | +| `ClearLogo` | clearLogo | \ No newline at end of file diff --git a/docs/Models/Requests/GetLibraryItemsLibraryResponseType.md b/docs/Models/Requests/GetLibraryItemsLibraryResponseType.md index c74a08a..299c746 100644 --- a/docs/Models/Requests/GetLibraryItemsLibraryResponseType.md +++ b/docs/Models/Requests/GetLibraryItemsLibraryResponseType.md @@ -1,11 +1,14 @@ # GetLibraryItemsLibraryResponseType -## Values +## Fields -| Name | Value | -| ------------- | ------------- | -| `CoverPoster` | coverPoster | -| `Background` | background | -| `Snapshot` | snapshot | -| `ClearLogo` | clearLogo | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | +| `Key` | *string* | :heavy_check_mark: | N/A | /library/sections/2/all?type=2 | +| `Type` | *string* | :heavy_check_mark: | N/A | show | +| `Title` | *string* | :heavy_check_mark: | N/A | TV Shows | +| `Active` | *bool* | :heavy_check_mark: | N/A | false | +| `Filter` | List<[GetLibraryItemsLibraryFilter](../../Models/Requests/GetLibraryItemsLibraryFilter.md)> | :heavy_minus_sign: | N/A | | +| `Sort` | List<[GetLibraryItemsLibrarySort](../../Models/Requests/GetLibraryItemsLibrarySort.md)> | :heavy_minus_sign: | N/A | | +| `Field` | List<[GetLibraryItemsLibraryField](../../Models/Requests/GetLibraryItemsLibraryField.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/Models/Requests/GetLibraryItemsLibrarySort.md b/docs/Models/Requests/GetLibraryItemsLibrarySort.md new file mode 100644 index 0000000..47757b8 --- /dev/null +++ b/docs/Models/Requests/GetLibraryItemsLibrarySort.md @@ -0,0 +1,15 @@ +# GetLibraryItemsLibrarySort + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | +| `Default` | *string* | :heavy_minus_sign: | N/A | asc | +| `Active` | *bool* | :heavy_minus_sign: | N/A | false | +| `ActiveDirection` | [GetLibraryItemsLibraryActiveDirection](../../Models/Requests/GetLibraryItemsLibraryActiveDirection.md) | :heavy_minus_sign: | The direction of the sort. Can be either `asc` or `desc`.
| asc | +| `DefaultDirection` | [GetLibraryItemsLibraryDefaultDirection](../../Models/Requests/GetLibraryItemsLibraryDefaultDirection.md) | :heavy_minus_sign: | The direction of the sort. Can be either `asc` or `desc`.
| asc | +| `DescKey` | *string* | :heavy_minus_sign: | N/A | titleSort:desc | +| `FirstCharacterKey` | *string* | :heavy_minus_sign: | N/A | /library/sections/2/firstCharacter | +| `Key` | *string* | :heavy_check_mark: | N/A | titleSort | +| `Title` | *string* | :heavy_check_mark: | N/A | Title | \ No newline at end of file diff --git a/docs/Models/Requests/GetLibraryItemsLibraryType.md b/docs/Models/Requests/GetLibraryItemsLibraryType.md index bf680f4..8bb508d 100644 --- a/docs/Models/Requests/GetLibraryItemsLibraryType.md +++ b/docs/Models/Requests/GetLibraryItemsLibraryType.md @@ -1,14 +1,14 @@ # GetLibraryItemsLibraryType +The type of media content -## Fields -| Field | Type | Required | Description | Example | -| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | -| `Key` | *string* | :heavy_check_mark: | N/A | /library/sections/2/all?type=2 | -| `Type` | *string* | :heavy_check_mark: | N/A | show | -| `Title` | *string* | :heavy_check_mark: | N/A | TV Shows | -| `Active` | *bool* | :heavy_check_mark: | N/A | false | -| `Filter` | List<[GetLibraryItemsFilter](../../Models/Requests/GetLibraryItemsFilter.md)> | :heavy_minus_sign: | N/A | | -| `Sort` | List<[GetLibraryItemsSort](../../Models/Requests/GetLibraryItemsSort.md)> | :heavy_minus_sign: | N/A | | -| `Field` | List<[GetLibraryItemsField](../../Models/Requests/GetLibraryItemsField.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file + +## Values + +| Name | Value | +| --------- | --------- | +| `Movie` | movie | +| `TvShow` | show | +| `Season` | season | +| `Episode` | episode | \ No newline at end of file diff --git a/docs/Models/Requests/GetLibraryItemsMedia.md b/docs/Models/Requests/GetLibraryItemsMedia.md index 00f8667..47d4eea 100644 --- a/docs/Models/Requests/GetLibraryItemsMedia.md +++ b/docs/Models/Requests/GetLibraryItemsMedia.md @@ -3,21 +3,23 @@ ## Fields -| Field | Type | Required | Description | Example | -| ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | -| `Id` | *int* | :heavy_check_mark: | N/A | 119534 | -| `Duration` | *int* | :heavy_check_mark: | N/A | 11558112 | -| `Bitrate` | *int* | :heavy_check_mark: | N/A | 25025 | -| `Width` | *int* | :heavy_check_mark: | N/A | 3840 | -| `Height` | *int* | :heavy_check_mark: | N/A | 2072 | -| `AspectRatio` | *double* | :heavy_check_mark: | N/A | 1.85 | -| `AudioProfile` | *string* | :heavy_minus_sign: | N/A | dts | -| `AudioChannels` | *int* | :heavy_check_mark: | N/A | 6 | -| `AudioCodec` | *string* | :heavy_check_mark: | N/A | eac3 | -| `VideoCodec` | *string* | :heavy_check_mark: | N/A | hevc | -| `VideoResolution` | *string* | :heavy_check_mark: | N/A | 4k | -| `Container` | *string* | :heavy_check_mark: | N/A | mkv | -| `VideoFrameRate` | *string* | :heavy_check_mark: | N/A | 24p | -| `VideoProfile` | *string* | :heavy_check_mark: | N/A | main 10 | -| `HasVoiceActivity` | *bool* | :heavy_minus_sign: | N/A | false | -| `Part` | List<[GetLibraryItemsPart](../../Models/Requests/GetLibraryItemsPart.md)> | :heavy_check_mark: | N/A | | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | +| `Id` | *int* | :heavy_check_mark: | N/A | 119534 | +| `Duration` | *int* | :heavy_check_mark: | N/A | 11558112 | +| `Bitrate` | *int* | :heavy_check_mark: | N/A | 25025 | +| `Width` | *int* | :heavy_check_mark: | N/A | 3840 | +| `Height` | *int* | :heavy_check_mark: | N/A | 2072 | +| `AspectRatio` | *double* | :heavy_check_mark: | N/A | 1.85 | +| `AudioProfile` | *string* | :heavy_minus_sign: | N/A | dts | +| `AudioChannels` | *int* | :heavy_check_mark: | N/A | 6 | +| `AudioCodec` | *string* | :heavy_check_mark: | N/A | eac3 | +| `VideoCodec` | *string* | :heavy_check_mark: | N/A | hevc | +| `VideoResolution` | *string* | :heavy_check_mark: | N/A | 4k | +| `Container` | *string* | :heavy_check_mark: | N/A | mkv | +| `VideoFrameRate` | *string* | :heavy_check_mark: | N/A | 24p | +| `VideoProfile` | *string* | :heavy_check_mark: | N/A | main 10 | +| `HasVoiceActivity` | *bool* | :heavy_minus_sign: | N/A | false | +| `OptimizedForStreaming` | [GetLibraryItemsOptimizedForStreaming](../../Models/Requests/GetLibraryItemsOptimizedForStreaming.md) | :heavy_minus_sign: | N/A | 1 | +| `Has64bitOffsets` | *bool* | :heavy_minus_sign: | N/A | false | +| `Part` | List<[GetLibraryItemsPart](../../Models/Requests/GetLibraryItemsPart.md)> | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Requests/GetLibraryItemsMediaContainer.md b/docs/Models/Requests/GetLibraryItemsMediaContainer.md index ffd0e27..202a7a4 100644 --- a/docs/Models/Requests/GetLibraryItemsMediaContainer.md +++ b/docs/Models/Requests/GetLibraryItemsMediaContainer.md @@ -1,10 +1,15 @@ # GetLibraryItemsMediaContainer +The Meta object is only included in the response if the `includeMeta` parameter is set to `1`. + + ## Fields | Field | Type | Required | Description | Example | | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | +| `Type` | List<[GetLibraryItemsType](../../Models/Requests/GetLibraryItemsType.md)> | :heavy_minus_sign: | N/A | | +| `FieldType` | List<[GetLibraryItemsFieldType](../../Models/Requests/GetLibraryItemsFieldType.md)> | :heavy_minus_sign: | N/A | | | `Size` | *int* | :heavy_check_mark: | N/A | 70 | | `TotalSize` | *int* | :heavy_check_mark: | N/A | 170 | | `Offset` | *int* | :heavy_check_mark: | N/A | 0 | @@ -13,7 +18,7 @@ | `Nocache` | *bool* | :heavy_minus_sign: | N/A | true | | `Art` | *string* | :heavy_check_mark: | N/A | /:/resources/movie-fanart.jpg | | `Identifier` | *string* | :heavy_check_mark: | N/A | com.plexapp.plugins.library | -| `LibrarySectionID` | [LibrarySectionID](../../Models/Requests/LibrarySectionID.md) | :heavy_check_mark: | N/A | | +| `LibrarySectionID` | *long* | :heavy_check_mark: | N/A | 1 | | `LibrarySectionTitle` | *string* | :heavy_check_mark: | N/A | Movies | | `LibrarySectionUUID` | *string* | :heavy_check_mark: | N/A | 322a231a-b7f7-49f5-920f-14c61199cd30 | | `MediaTagPrefix` | *string* | :heavy_check_mark: | N/A | /system/bundle/media/flags/ | @@ -25,4 +30,4 @@ | `ViewMode` | *int* | :heavy_minus_sign: | N/A | 65592 | | `MixedParents` | *bool* | :heavy_minus_sign: | N/A | true | | `Metadata` | List<[GetLibraryItemsMetadata](../../Models/Requests/GetLibraryItemsMetadata.md)> | :heavy_check_mark: | N/A | | -| `Meta` | [Meta](../../Models/Requests/Meta.md) | :heavy_minus_sign: | The Meta object is only included in the response if the `includeMeta` parameter is set to `1`.
| | \ No newline at end of file +| `Meta` | [GetLibraryItemsMeta](../../Models/Requests/GetLibraryItemsMeta.md) | :heavy_minus_sign: | The Meta object is only included in the response if the `includeMeta` parameter is set to `1`.
| | \ No newline at end of file diff --git a/docs/Models/Requests/GetLibraryItemsMediaGuid.md b/docs/Models/Requests/GetLibraryItemsMediaGuid.md new file mode 100644 index 0000000..25ff910 --- /dev/null +++ b/docs/Models/Requests/GetLibraryItemsMediaGuid.md @@ -0,0 +1,8 @@ +# GetLibraryItemsMediaGuid + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | +| `Id` | *string* | :heavy_check_mark: | Can be one of the following formats:
imdb://tt13015952, tmdb://2434012, tvdb://7945991
| imdb://tt13015952 | \ No newline at end of file diff --git a/docs/Models/Requests/GetLibraryItemsMeta.md b/docs/Models/Requests/GetLibraryItemsMeta.md new file mode 100644 index 0000000..ecb6c8c --- /dev/null +++ b/docs/Models/Requests/GetLibraryItemsMeta.md @@ -0,0 +1,12 @@ +# GetLibraryItemsMeta + +The Meta object is only included in the response if the `includeMeta` parameter is set to `1`. + + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | +| `Type` | List<[GetLibraryItemsLibraryResponseType](../../Models/Requests/GetLibraryItemsLibraryResponseType.md)> | :heavy_minus_sign: | N/A | +| `FieldType` | List<[GetLibraryItemsLibraryFieldType](../../Models/Requests/GetLibraryItemsLibraryFieldType.md)> | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/Models/Requests/GetLibraryItemsMetaDataRating.md b/docs/Models/Requests/GetLibraryItemsMetaDataRating.md new file mode 100644 index 0000000..2f6dd9a --- /dev/null +++ b/docs/Models/Requests/GetLibraryItemsMetaDataRating.md @@ -0,0 +1,10 @@ +# GetLibraryItemsMetaDataRating + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | +| `Image` | *string* | :heavy_check_mark: | A URI or path to the rating image. | themoviedb://image.rating | +| `Value` | *float* | :heavy_check_mark: | The value of the rating. | 3 | +| `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/Requests/GetLibraryItemsMetadata.md b/docs/Models/Requests/GetLibraryItemsMetadata.md index f373a22..ac83487 100644 --- a/docs/Models/Requests/GetLibraryItemsMetadata.md +++ b/docs/Models/Requests/GetLibraryItemsMetadata.md @@ -10,7 +10,10 @@ | `Guid` | *string* | :heavy_check_mark: | N/A | plex://movie/5d7768ba96b655001fdc0408 | | `Studio` | *string* | :heavy_minus_sign: | N/A | 20th Century Studios | | `SkipChildren` | *bool* | :heavy_minus_sign: | N/A | false | -| `Type` | [GetLibraryItemsType](../../Models/Requests/GetLibraryItemsType.md) | :heavy_check_mark: | The type of media content
| movie | +| `LibrarySectionID` | *long* | :heavy_minus_sign: | N/A | 1 | +| `LibrarySectionTitle` | *string* | :heavy_minus_sign: | N/A | Movies | +| `LibrarySectionKey` | *string* | :heavy_minus_sign: | N/A | /library/sections/1 | +| `Type` | [GetLibraryItemsLibraryType](../../Models/Requests/GetLibraryItemsLibraryType.md) | :heavy_check_mark: | The type of media content
| movie | | `Title` | *string* | :heavy_check_mark: | N/A | Avatar: The Way of Water | | `Slug` | *string* | :heavy_minus_sign: | N/A | 4-for-texas | | `ContentRating` | *string* | :heavy_minus_sign: | N/A | PG-13 | @@ -20,8 +23,8 @@ | `Year` | *int* | :heavy_minus_sign: | N/A | 2022 | | `SeasonCount` | *int* | :heavy_minus_sign: | N/A | 2022 | | `Tagline` | *string* | :heavy_minus_sign: | N/A | Return to Pandora. | -| `FlattenSeasons` | [FlattenSeasons](../../Models/Requests/FlattenSeasons.md) | :heavy_minus_sign: | N/A | 1 | -| `ShowOrdering` | [ShowOrdering](../../Models/Requests/ShowOrdering.md) | :heavy_minus_sign: | Setting that indicates the episode ordering for the show
None = Library default,
tmdbAiring = The Movie Database (Aired),
aired = TheTVDB (Aired),
dvd = TheTVDB (DVD),
absolute = TheTVDB (Absolute)).
| dvd | +| `FlattenSeasons` | [GetLibraryItemsFlattenSeasons](../../Models/Requests/GetLibraryItemsFlattenSeasons.md) | :heavy_minus_sign: | N/A | 1 | +| `ShowOrdering` | [GetLibraryItemsShowOrdering](../../Models/Requests/GetLibraryItemsShowOrdering.md) | :heavy_minus_sign: | Setting that indicates the episode ordering for the show
None = Library default,
tmdbAiring = The Movie Database (Aired),
aired = TheTVDB (Aired),
dvd = TheTVDB (DVD),
absolute = TheTVDB (Absolute)).
| dvd | | `Thumb` | *string* | :heavy_minus_sign: | N/A | /library/metadata/58683/thumb/1703239236 | | `Art` | *string* | :heavy_minus_sign: | N/A | /library/metadata/58683/art/1703239236 | | `Banner` | *string* | :heavy_minus_sign: | N/A | /library/metadata/58683/banner/1703239236 | @@ -38,6 +41,7 @@ | `GrandparentKey` | *string* | :heavy_minus_sign: | N/A | /library/metadata/66 | | `GrandparentTitle` | *string* | :heavy_minus_sign: | N/A | Caprica | | `GrandparentThumb` | *string* | :heavy_minus_sign: | N/A | /library/metadata/66/thumb/1705716261 | +| `ParentSlug` | *string* | :heavy_minus_sign: | N/A | alice-in-borderland-2020 | | `GrandparentSlug` | *string* | :heavy_minus_sign: | N/A | alice-in-borderland-2020 | | `GrandparentArt` | *string* | :heavy_minus_sign: | N/A | /library/metadata/66/art/1705716261 | | `GrandparentTheme` | *string* | :heavy_minus_sign: | N/A | /library/metadata/66/theme/1705716261 | @@ -46,10 +50,11 @@ | `Country` | List<[GetLibraryItemsCountry](../../Models/Requests/GetLibraryItemsCountry.md)> | :heavy_minus_sign: | N/A | | | `Director` | List<[GetLibraryItemsDirector](../../Models/Requests/GetLibraryItemsDirector.md)> | :heavy_minus_sign: | N/A | | | `Writer` | List<[GetLibraryItemsWriter](../../Models/Requests/GetLibraryItemsWriter.md)> | :heavy_minus_sign: | N/A | | -| `Collection` | List<[Collection](../../Models/Requests/Collection.md)> | :heavy_minus_sign: | N/A | | +| `Collection` | List<[GetLibraryItemsCollection](../../Models/Requests/GetLibraryItemsCollection.md)> | :heavy_minus_sign: | N/A | | | `Role` | List<[GetLibraryItemsRole](../../Models/Requests/GetLibraryItemsRole.md)> | :heavy_minus_sign: | N/A | | -| `MediaGuid` | List<[MediaGuid](../../Models/Requests/MediaGuid.md)> | :heavy_minus_sign: | The Guid object is only included in the response if the `includeGuids` parameter is set to `1`.
| | -| `UltraBlurColors` | [UltraBlurColors](../../Models/Requests/UltraBlurColors.md) | :heavy_minus_sign: | N/A | | +| `MediaGuid` | List<[GetLibraryItemsMediaGuid](../../Models/Requests/GetLibraryItemsMediaGuid.md)> | :heavy_minus_sign: | The Guid object is only included in the response if the `includeGuids` parameter is set to `1`.
| | +| `UltraBlurColors` | [GetLibraryItemsUltraBlurColors](../../Models/Requests/GetLibraryItemsUltraBlurColors.md) | :heavy_minus_sign: | N/A | | +| `MetaDataRating` | List<[GetLibraryItemsMetaDataRating](../../Models/Requests/GetLibraryItemsMetaDataRating.md)> | :heavy_minus_sign: | N/A | | | `Image` | List<[GetLibraryItemsImage](../../Models/Requests/GetLibraryItemsImage.md)> | :heavy_minus_sign: | N/A | | | `TitleSort` | *string* | :heavy_minus_sign: | N/A | Whale | | `ViewCount` | *int* | :heavy_minus_sign: | N/A | 1 | diff --git a/docs/Models/Requests/GetLibraryItemsOptimizedForStreaming.md b/docs/Models/Requests/GetLibraryItemsOptimizedForStreaming.md new file mode 100644 index 0000000..8075b9e --- /dev/null +++ b/docs/Models/Requests/GetLibraryItemsOptimizedForStreaming.md @@ -0,0 +1,9 @@ +# GetLibraryItemsOptimizedForStreaming + + +## Values + +| Name | Value | +| --------- | --------- | +| `Disable` | 0 | +| `Enable` | 1 | \ No newline at end of file diff --git a/docs/Models/Requests/GetLibraryItemsPart.md b/docs/Models/Requests/GetLibraryItemsPart.md index 3785a05..d355ce3 100644 --- a/docs/Models/Requests/GetLibraryItemsPart.md +++ b/docs/Models/Requests/GetLibraryItemsPart.md @@ -12,6 +12,9 @@ | `Size` | *long* | :heavy_check_mark: | N/A | 36158371307 | | `Container` | *string* | :heavy_check_mark: | The container format of the media file.
| mkv | | `AudioProfile` | *string* | :heavy_minus_sign: | N/A | dts | +| `Has64bitOffsets` | *bool* | :heavy_minus_sign: | N/A | false | +| `OptimizedForStreaming` | *bool* | :heavy_minus_sign: | N/A | false | | `VideoProfile` | *string* | :heavy_check_mark: | N/A | main 10 | | `Indexes` | *string* | :heavy_minus_sign: | N/A | sd | -| `HasThumbnail` | [HasThumbnail](../../Models/Requests/HasThumbnail.md) | :heavy_minus_sign: | N/A | 1 | \ No newline at end of file +| `HasThumbnail` | [GetLibraryItemsHasThumbnail](../../Models/Requests/GetLibraryItemsHasThumbnail.md) | :heavy_minus_sign: | N/A | 1 | +| `Stream` | List<[GetLibraryItemsStream](../../Models/Requests/GetLibraryItemsStream.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/Models/Requests/GetLibraryItemsQueryParamIncludeMeta.md b/docs/Models/Requests/GetLibraryItemsQueryParamIncludeMeta.md new file mode 100644 index 0000000..d721bb9 --- /dev/null +++ b/docs/Models/Requests/GetLibraryItemsQueryParamIncludeMeta.md @@ -0,0 +1,12 @@ +# GetLibraryItemsQueryParamIncludeMeta + +Adds the Meta object to the response + + + +## Values + +| Name | Value | +| --------- | --------- | +| `Disable` | 0 | +| `Enable` | 1 | \ No newline at end of file diff --git a/docs/Models/Requests/GetLibraryItemsQueryParamType.md b/docs/Models/Requests/GetLibraryItemsQueryParamType.md new file mode 100644 index 0000000..8ab46c4 --- /dev/null +++ b/docs/Models/Requests/GetLibraryItemsQueryParamType.md @@ -0,0 +1,19 @@ +# GetLibraryItemsQueryParamType + +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 + + + +## Values + +| Name | Value | +| --------- | --------- | +| `Movie` | 1 | +| `TvShow` | 2 | +| `Season` | 3 | +| `Episode` | 4 | \ No newline at end of file diff --git a/docs/Models/Requests/GetLibraryItemsRequest.md b/docs/Models/Requests/GetLibraryItemsRequest.md index b403125..c346827 100644 --- a/docs/Models/Requests/GetLibraryItemsRequest.md +++ b/docs/Models/Requests/GetLibraryItemsRequest.md @@ -8,7 +8,7 @@ | `SectionKey` | *int* | :heavy_check_mark: | The unique key of the Plex library.
Note: This is unique in the context of the Plex server.
| 9518 | | `Tag` | [Tag](../../Models/Requests/Tag.md) | :heavy_check_mark: | A key representing a specific tag within the section. | | | `IncludeGuids` | [IncludeGuids](../../Models/Requests/IncludeGuids.md) | :heavy_minus_sign: | Adds the Guids object to the response
| 1 | -| `IncludeMeta` | [IncludeMeta](../../Models/Requests/IncludeMeta.md) | :heavy_minus_sign: | Adds the Meta object to the response
| 1 | -| `Type` | [Models.Requests.Type](../../Models/Requests/Type.md) | :heavy_minus_sign: | The type of media to retrieve.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| 2 | +| `Type` | [GetLibraryItemsQueryParamType](../../Models/Requests/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` | [GetLibraryItemsQueryParamIncludeMeta](../../Models/Requests/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/Requests/GetLibraryItemsRole.md b/docs/Models/Requests/GetLibraryItemsRole.md index a8858d5..41872c4 100644 --- a/docs/Models/Requests/GetLibraryItemsRole.md +++ b/docs/Models/Requests/GetLibraryItemsRole.md @@ -3,6 +3,11 @@ ## Fields -| Field | Type | Required | Description | Example | -| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | -| `Tag` | *string* | :heavy_minus_sign: | N/A | Sigourney Weaver | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `Id` | *long* | :heavy_minus_sign: | The ID of the tag or actor. | 294129 | +| `Filter` | *string* | :heavy_minus_sign: | The filter used to find the actor or tag. | actor=294129 | +| `Thumb` | *string* | :heavy_minus_sign: | The thumbnail of the actor | https://metadata-static.plex.tv/2/people/27b85844536c39f3f9ac943aaad46608.jpg | +| `Tag` | *string* | :heavy_minus_sign: | The name of the tag or actor. | Mike Smith | +| `TagKey` | *string* | :heavy_minus_sign: | Unique identifier for the tag. | 668e7e7b22bcad9064350c91 | +| `Role` | *string* | :heavy_minus_sign: | The role of the actor or tag in the media. | Self | \ No newline at end of file diff --git a/docs/Models/Requests/GetLibraryItemsShowOrdering.md b/docs/Models/Requests/GetLibraryItemsShowOrdering.md new file mode 100644 index 0000000..1d7aa8c --- /dev/null +++ b/docs/Models/Requests/GetLibraryItemsShowOrdering.md @@ -0,0 +1,20 @@ +# GetLibraryItemsShowOrdering + +Setting that indicates the episode ordering for the show +None = Library default, +tmdbAiring = The Movie Database (Aired), +aired = TheTVDB (Aired), +dvd = TheTVDB (DVD), +absolute = TheTVDB (Absolute)). + + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `None` | None | +| `TmdbAiring` | tmdbAiring | +| `Aired` | aired | +| `Dvd` | dvd | +| `Absolute` | absolute | \ No newline at end of file diff --git a/docs/Models/Requests/GetLibraryItemsSort.md b/docs/Models/Requests/GetLibraryItemsSort.md index d5f050a..86da785 100644 --- a/docs/Models/Requests/GetLibraryItemsSort.md +++ b/docs/Models/Requests/GetLibraryItemsSort.md @@ -3,13 +3,13 @@ ## Fields -| Field | Type | Required | Description | Example | -| ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | -| `Default` | *string* | :heavy_minus_sign: | N/A | asc | -| `Active` | *bool* | :heavy_minus_sign: | N/A | false | -| `ActiveDirection` | [ActiveDirection](../../Models/Requests/ActiveDirection.md) | :heavy_minus_sign: | The direction of the sort. Can be either `asc` or `desc`.
| asc | -| `DefaultDirection` | [DefaultDirection](../../Models/Requests/DefaultDirection.md) | :heavy_minus_sign: | The direction of the sort. Can be either `asc` or `desc`.
| asc | -| `DescKey` | *string* | :heavy_minus_sign: | N/A | titleSort:desc | -| `FirstCharacterKey` | *string* | :heavy_minus_sign: | N/A | /library/sections/2/firstCharacter | -| `Key` | *string* | :heavy_check_mark: | N/A | titleSort | -| `Title` | *string* | :heavy_check_mark: | N/A | Title | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | +| `Default` | *string* | :heavy_minus_sign: | N/A | asc | +| `Active` | *bool* | :heavy_minus_sign: | N/A | false | +| `ActiveDirection` | [GetLibraryItemsActiveDirection](../../Models/Requests/GetLibraryItemsActiveDirection.md) | :heavy_minus_sign: | The direction of the sort. Can be either `asc` or `desc`.
| asc | +| `DefaultDirection` | [GetLibraryItemsDefaultDirection](../../Models/Requests/GetLibraryItemsDefaultDirection.md) | :heavy_minus_sign: | The direction of the sort. Can be either `asc` or `desc`.
| asc | +| `DescKey` | *string* | :heavy_minus_sign: | N/A | titleSort:desc | +| `FirstCharacterKey` | *string* | :heavy_minus_sign: | N/A | /library/sections/2/firstCharacter | +| `Key` | *string* | :heavy_check_mark: | N/A | titleSort | +| `Title` | *string* | :heavy_check_mark: | N/A | Title | \ No newline at end of file diff --git a/docs/Models/Requests/GetLibraryItemsStream.md b/docs/Models/Requests/GetLibraryItemsStream.md new file mode 100644 index 0000000..582daff --- /dev/null +++ b/docs/Models/Requests/GetLibraryItemsStream.md @@ -0,0 +1,45 @@ +# GetLibraryItemsStream + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| `Id` | *long* | :heavy_check_mark: | N/A | 272796 | +| `StreamType` | *long* | :heavy_check_mark: | Type of stream (1 = video, 2 = audio, 3 = subtitle) | 1 | +| `Default` | *bool* | :heavy_minus_sign: | Indicates if this is the default stream | true | +| `Selected` | *bool* | :heavy_minus_sign: | Indicates if the stream is selected | true | +| `Codec` | *string* | :heavy_check_mark: | Codec used by the stream | h264 | +| `Index` | *long* | :heavy_check_mark: | The index of the stream | 0 | +| `Bitrate` | *long* | :heavy_minus_sign: | The bitrate of the stream in kbps | 6273 | +| `ColorPrimaries` | *string* | :heavy_minus_sign: | The color primaries of the video stream | bt709 | +| `ColorRange` | *string* | :heavy_minus_sign: | The color range of the video stream | tv | +| `ColorSpace` | *string* | :heavy_minus_sign: | The color space of the video stream | bt709 | +| `ColorTrc` | *string* | :heavy_minus_sign: | The transfer characteristics (TRC) of the video stream | bt709 | +| `BitDepth` | *long* | :heavy_minus_sign: | The bit depth of the video stream | 8 | +| `ChromaLocation` | *string* | :heavy_minus_sign: | The chroma location of the video stream | left | +| `StreamIdentifier` | *string* | :heavy_minus_sign: | The identifier of the video stream | 2 | +| `ChromaSubsampling` | *string* | :heavy_minus_sign: | The chroma subsampling format | 4:2:0 | +| `CodedHeight` | *long* | :heavy_minus_sign: | The coded height of the video stream | 1088 | +| `CodedWidth` | *long* | :heavy_minus_sign: | The coded width of the video stream | 1920 | +| `FrameRate` | *double* | :heavy_minus_sign: | The frame rate of the video stream | 29.97 | +| `HasScalingMatrix` | *bool* | :heavy_minus_sign: | Indicates if the stream has a scaling matrix | false | +| `HearingImpaired` | *bool* | :heavy_minus_sign: | N/A | false | +| `ClosedCaptions` | *bool* | :heavy_minus_sign: | N/A | false | +| `EmbeddedInVideo` | *string* | :heavy_minus_sign: | N/A | 1 | +| `Height` | *long* | :heavy_minus_sign: | The height of the video stream | 1080 | +| `Level` | *long* | :heavy_minus_sign: | The level of the video codec | 40 | +| `Profile` | *string* | :heavy_minus_sign: | The profile of the video codec | main | +| `RefFrames` | *long* | :heavy_minus_sign: | Number of reference frames | 4 | +| `ScanType` | *string* | :heavy_minus_sign: | The scan type (progressive or interlaced) | progressive | +| `Width` | *long* | :heavy_minus_sign: | The width of the video stream | 1920 | +| `DisplayTitle` | *string* | :heavy_minus_sign: | Display title of the stream | 1080p (H.264) | +| `ExtendedDisplayTitle` | *string* | :heavy_minus_sign: | Extended display title of the stream | 1080p (H.264) | +| `Channels` | *long* | :heavy_minus_sign: | Number of audio channels (for audio streams) | 2 | +| `Language` | *string* | :heavy_minus_sign: | The language of the stream (for audio/subtitle streams) | English | +| `LanguageTag` | *string* | :heavy_minus_sign: | Language tag of the stream | en | +| `LanguageCode` | *string* | :heavy_minus_sign: | Language code of the stream | eng | +| `AudioChannelLayout` | *string* | :heavy_minus_sign: | The audio channel layout | stereo | +| `SamplingRate` | *long* | :heavy_minus_sign: | Sampling rate of the audio stream in Hz | 48000 | +| `Title` | *string* | :heavy_minus_sign: | Title of the subtitle track (for subtitle streams) | English | +| `CanAutoSync` | *bool* | :heavy_minus_sign: | Indicates if the subtitle stream can auto-sync | false | \ No newline at end of file diff --git a/docs/Models/Requests/GetLibraryItemsType.md b/docs/Models/Requests/GetLibraryItemsType.md index 1888dbf..82e4368 100644 --- a/docs/Models/Requests/GetLibraryItemsType.md +++ b/docs/Models/Requests/GetLibraryItemsType.md @@ -1,14 +1,14 @@ # GetLibraryItemsType -The type of media content +## Fields - -## Values - -| Name | Value | -| --------- | --------- | -| `Movie` | movie | -| `TvShow` | show | -| `Season` | season | -| `Episode` | episode | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `Key` | *string* | :heavy_check_mark: | N/A | /library/sections/2/all?type=2 | +| `Type` | *string* | :heavy_check_mark: | N/A | show | +| `Title` | *string* | :heavy_check_mark: | N/A | TV Shows | +| `Active` | *bool* | :heavy_check_mark: | N/A | false | +| `Filter` | List<[GetLibraryItemsFilter](../../Models/Requests/GetLibraryItemsFilter.md)> | :heavy_minus_sign: | N/A | | +| `Sort` | List<[GetLibraryItemsSort](../../Models/Requests/GetLibraryItemsSort.md)> | :heavy_minus_sign: | N/A | | +| `Field` | List<[GetLibraryItemsField](../../Models/Requests/GetLibraryItemsField.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/Models/Requests/GetLibraryItemsUltraBlurColors.md b/docs/Models/Requests/GetLibraryItemsUltraBlurColors.md new file mode 100644 index 0000000..88376a4 --- /dev/null +++ b/docs/Models/Requests/GetLibraryItemsUltraBlurColors.md @@ -0,0 +1,11 @@ +# GetLibraryItemsUltraBlurColors + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | +| `TopLeft` | *string* | :heavy_check_mark: | N/A | 11333b | +| `TopRight` | *string* | :heavy_check_mark: | N/A | 0a232d | +| `BottomRight` | *string* | :heavy_check_mark: | N/A | 73958 | +| `BottomLeft` | *string* | :heavy_check_mark: | N/A | 1f5066 | \ No newline at end of file diff --git a/docs/Models/Requests/GetMetaDataByRatingKeyPart.md b/docs/Models/Requests/GetMetaDataByRatingKeyPart.md index 1dd0587..3eee4dc 100644 --- a/docs/Models/Requests/GetMetaDataByRatingKeyPart.md +++ b/docs/Models/Requests/GetMetaDataByRatingKeyPart.md @@ -3,16 +3,16 @@ ## 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` | List<[Stream](../../Models/Requests/Stream.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file +| 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` | List<[GetMetaDataByRatingKeyStream](../../Models/Requests/GetMetaDataByRatingKeyStream.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/Models/Requests/GetMetaDataByRatingKeyStream.md b/docs/Models/Requests/GetMetaDataByRatingKeyStream.md new file mode 100644 index 0000000..6644c06 --- /dev/null +++ b/docs/Models/Requests/GetMetaDataByRatingKeyStream.md @@ -0,0 +1,39 @@ +# 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/Requests/GetRecentlyAddedActiveDirection.md b/docs/Models/Requests/GetRecentlyAddedActiveDirection.md new file mode 100644 index 0000000..a0fa724 --- /dev/null +++ b/docs/Models/Requests/GetRecentlyAddedActiveDirection.md @@ -0,0 +1,12 @@ +# GetRecentlyAddedActiveDirection + +The direction of the sort. Can be either `asc` or `desc`. + + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `Ascending` | asc | +| `Descending` | desc | \ No newline at end of file diff --git a/docs/Models/Requests/GetRecentlyAddedDefaultDirection.md b/docs/Models/Requests/GetRecentlyAddedDefaultDirection.md new file mode 100644 index 0000000..b7422fa --- /dev/null +++ b/docs/Models/Requests/GetRecentlyAddedDefaultDirection.md @@ -0,0 +1,12 @@ +# GetRecentlyAddedDefaultDirection + +The direction of the sort. Can be either `asc` or `desc`. + + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `Ascending` | asc | +| `Descending` | desc | \ No newline at end of file diff --git a/docs/Models/Requests/GetRecentlyAddedField.md b/docs/Models/Requests/GetRecentlyAddedField.md new file mode 100644 index 0000000..125c903 --- /dev/null +++ b/docs/Models/Requests/GetRecentlyAddedField.md @@ -0,0 +1,11 @@ +# GetRecentlyAddedField + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | +| `Key` | *string* | :heavy_check_mark: | N/A | show.title | +| `Title` | *string* | :heavy_check_mark: | N/A | Show Title | +| `Type` | *string* | :heavy_check_mark: | N/A | string | +| `SubType` | *string* | :heavy_minus_sign: | N/A | rating | \ No newline at end of file diff --git a/docs/Models/Requests/GetRecentlyAddedFieldType.md b/docs/Models/Requests/GetRecentlyAddedFieldType.md new file mode 100644 index 0000000..5609651 --- /dev/null +++ b/docs/Models/Requests/GetRecentlyAddedFieldType.md @@ -0,0 +1,9 @@ +# GetRecentlyAddedFieldType + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | +| `Type` | *string* | :heavy_check_mark: | N/A | tag | +| `Operator` | List<[GetRecentlyAddedOperator](../../Models/Requests/GetRecentlyAddedOperator.md)> | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Requests/GetRecentlyAddedFilter.md b/docs/Models/Requests/GetRecentlyAddedFilter.md new file mode 100644 index 0000000..256111d --- /dev/null +++ b/docs/Models/Requests/GetRecentlyAddedFilter.md @@ -0,0 +1,12 @@ +# GetRecentlyAddedFilter + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------- | -------------------------------- | -------------------------------- | -------------------------------- | -------------------------------- | +| `Filter` | *string* | :heavy_check_mark: | N/A | genre | +| `FilterType` | *string* | :heavy_check_mark: | N/A | string | +| `Key` | *string* | :heavy_check_mark: | N/A | /library/sections/2/genre?type=2 | +| `Title` | *string* | :heavy_check_mark: | N/A | Genre | +| `Type` | *string* | :heavy_check_mark: | N/A | filter | \ No newline at end of file diff --git a/docs/Models/Requests/GetRecentlyAddedHubsResponseType.md b/docs/Models/Requests/GetRecentlyAddedHubsResponseType.md new file mode 100644 index 0000000..e1d6679 --- /dev/null +++ b/docs/Models/Requests/GetRecentlyAddedHubsResponseType.md @@ -0,0 +1,11 @@ +# GetRecentlyAddedHubsResponseType + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `CoverPoster` | coverPoster | +| `Background` | background | +| `Snapshot` | snapshot | +| `ClearLogo` | clearLogo | \ No newline at end of file diff --git a/docs/Models/Requests/GetRecentlyAddedHubsType.md b/docs/Models/Requests/GetRecentlyAddedHubsType.md new file mode 100644 index 0000000..eec1b20 --- /dev/null +++ b/docs/Models/Requests/GetRecentlyAddedHubsType.md @@ -0,0 +1,14 @@ +# GetRecentlyAddedHubsType + +The type of media content + + + +## Values + +| Name | Value | +| --------- | --------- | +| `Movie` | movie | +| `TvShow` | show | +| `Season` | season | +| `Episode` | episode | \ No newline at end of file diff --git a/docs/Models/Requests/GetRecentlyAddedImage.md b/docs/Models/Requests/GetRecentlyAddedImage.md new file mode 100644 index 0000000..7528c7a --- /dev/null +++ b/docs/Models/Requests/GetRecentlyAddedImage.md @@ -0,0 +1,10 @@ +# GetRecentlyAddedImage + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | +| `Alt` | *string* | :heavy_check_mark: | N/A | Episode 1 | +| `Type` | [GetRecentlyAddedHubsResponseType](../../Models/Requests/GetRecentlyAddedHubsResponseType.md) | :heavy_check_mark: | N/A | background | +| `Url` | *string* | :heavy_check_mark: | N/A | /library/metadata/45521/thumb/1644710589 | \ No newline at end of file diff --git a/docs/Models/Requests/GetRecentlyAddedLibraryCountry.md b/docs/Models/Requests/GetRecentlyAddedLibraryCountry.md new file mode 100644 index 0000000..4113d6a --- /dev/null +++ b/docs/Models/Requests/GetRecentlyAddedLibraryCountry.md @@ -0,0 +1,8 @@ +# GetRecentlyAddedLibraryCountry + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------ | ------------------------ | ------------------------ | ------------------------ | ------------------------ | +| `Tag` | *string* | :heavy_minus_sign: | N/A | United States of America | \ No newline at end of file diff --git a/docs/Models/Requests/GetRecentlyAddedLibraryDirector.md b/docs/Models/Requests/GetRecentlyAddedLibraryDirector.md new file mode 100644 index 0000000..05fe637 --- /dev/null +++ b/docs/Models/Requests/GetRecentlyAddedLibraryDirector.md @@ -0,0 +1,8 @@ +# GetRecentlyAddedLibraryDirector + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | +| `Tag` | *string* | :heavy_minus_sign: | N/A | Peyton Reed | \ No newline at end of file diff --git a/docs/Models/Requests/GetRecentlyAddedLibraryFilter.md b/docs/Models/Requests/GetRecentlyAddedLibraryFilter.md new file mode 100644 index 0000000..2b56e55 --- /dev/null +++ b/docs/Models/Requests/GetRecentlyAddedLibraryFilter.md @@ -0,0 +1,12 @@ +# GetRecentlyAddedLibraryFilter + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------- | -------------------------------- | -------------------------------- | -------------------------------- | -------------------------------- | +| `Filter` | *string* | :heavy_check_mark: | N/A | genre | +| `FilterType` | *string* | :heavy_check_mark: | N/A | string | +| `Key` | *string* | :heavy_check_mark: | N/A | /library/sections/2/genre?type=2 | +| `Title` | *string* | :heavy_check_mark: | N/A | Genre | +| `Type` | *string* | :heavy_check_mark: | N/A | filter | \ No newline at end of file diff --git a/docs/Models/Requests/GetRecentlyAddedLibraryGenre.md b/docs/Models/Requests/GetRecentlyAddedLibraryGenre.md new file mode 100644 index 0000000..f04e550 --- /dev/null +++ b/docs/Models/Requests/GetRecentlyAddedLibraryGenre.md @@ -0,0 +1,8 @@ +# GetRecentlyAddedLibraryGenre + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | +| `Tag` | *string* | :heavy_minus_sign: | N/A | Comedy | \ No newline at end of file diff --git a/docs/Models/Requests/GetRecentlyAddedLibraryMedia.md b/docs/Models/Requests/GetRecentlyAddedLibraryMedia.md new file mode 100644 index 0000000..d0c9dda --- /dev/null +++ b/docs/Models/Requests/GetRecentlyAddedLibraryMedia.md @@ -0,0 +1,23 @@ +# GetRecentlyAddedLibraryMedia + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | +| `Id` | *double* | :heavy_minus_sign: | N/A | 120345 | +| `Duration` | *double* | :heavy_minus_sign: | N/A | 7474422 | +| `Bitrate` | *double* | :heavy_minus_sign: | N/A | 3623 | +| `Width` | *double* | :heavy_minus_sign: | N/A | 1920 | +| `Height` | *double* | :heavy_minus_sign: | N/A | 804 | +| `AspectRatio` | *double* | :heavy_minus_sign: | N/A | 2.35 | +| `AudioChannels` | *double* | :heavy_minus_sign: | N/A | 6 | +| `AudioCodec` | *string* | :heavy_minus_sign: | N/A | ac3 | +| `VideoCodec` | *string* | :heavy_minus_sign: | N/A | h264 | +| `VideoResolution` | *double* | :heavy_minus_sign: | N/A | 1080 | +| `Container` | *string* | :heavy_minus_sign: | N/A | mp4 | +| `VideoFrameRate` | *string* | :heavy_minus_sign: | N/A | 24p | +| `OptimizedForStreaming` | *double* | :heavy_minus_sign: | N/A | 0 | +| `Has64bitOffsets` | *bool* | :heavy_minus_sign: | N/A | | +| `VideoProfile` | *string* | :heavy_minus_sign: | N/A | high | +| `Part` | List<[GetRecentlyAddedLibraryPart](../../Models/Requests/GetRecentlyAddedLibraryPart.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/Models/Requests/GetRecentlyAddedLibraryMediaContainer.md b/docs/Models/Requests/GetRecentlyAddedLibraryMediaContainer.md new file mode 100644 index 0000000..72dee82 --- /dev/null +++ b/docs/Models/Requests/GetRecentlyAddedLibraryMediaContainer.md @@ -0,0 +1,19 @@ +# GetRecentlyAddedLibraryMediaContainer + +The Meta object is only included in the response if the `includeMeta` parameter is set to `1`. + + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | +| `Type` | List<[GetRecentlyAddedLibraryType](../../Models/Requests/GetRecentlyAddedLibraryType.md)> | :heavy_minus_sign: | N/A | | +| `FieldType` | List<[FieldType](../../Models/Requests/FieldType.md)> | :heavy_minus_sign: | N/A | | +| `Size` | *double* | :heavy_minus_sign: | N/A | 50 | +| `AllowSync` | *bool* | :heavy_minus_sign: | N/A | | +| `Identifier` | *string* | :heavy_minus_sign: | N/A | com.plexapp.plugins.library | +| `MediaTagPrefix` | *string* | :heavy_minus_sign: | N/A | /system/bundle/media/flags/ | +| `MediaTagVersion` | *double* | :heavy_minus_sign: | N/A | 1680021154 | +| `MixedParents` | *bool* | :heavy_minus_sign: | N/A | | +| `Metadata` | List<[GetRecentlyAddedLibraryMetadata](../../Models/Requests/GetRecentlyAddedLibraryMetadata.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/Models/Requests/GetRecentlyAddedLibraryMetadata.md b/docs/Models/Requests/GetRecentlyAddedLibraryMetadata.md new file mode 100644 index 0000000..838acad --- /dev/null +++ b/docs/Models/Requests/GetRecentlyAddedLibraryMetadata.md @@ -0,0 +1,39 @@ +# GetRecentlyAddedLibraryMetadata + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `AllowSync` | *bool* | :heavy_minus_sign: | N/A | | +| `LibrarySectionID` | *double* | :heavy_minus_sign: | N/A | 1 | +| `LibrarySectionTitle` | *string* | :heavy_minus_sign: | N/A | Movies | +| `LibrarySectionUUID` | *string* | :heavy_minus_sign: | N/A | 322a231a-b7f7-49f5-920f-14c61199cd30 | +| `RatingKey` | *double* | :heavy_minus_sign: | N/A | 59398 | +| `Key` | *string* | :heavy_minus_sign: | N/A | /library/metadata/59398 | +| `Guid` | *string* | :heavy_minus_sign: | N/A | plex://movie/5e161a83bea6ac004126e148 | +| `Studio` | *string* | :heavy_minus_sign: | N/A | Marvel Studios | +| `Type` | *string* | :heavy_minus_sign: | N/A | movie | +| `Title` | *string* | :heavy_minus_sign: | N/A | Ant-Man and the Wasp: Quantumania | +| `ContentRating` | *string* | :heavy_minus_sign: | N/A | PG-13 | +| `Summary` | *string* | :heavy_minus_sign: | N/A | Scott Lang and Hope Van Dyne along with Hank Pym and Janet Van Dyne explore the Quantum Realm where they interact with strange creatures and embark on an adventure that goes beyond the limits of what they thought was possible. | +| `Rating` | *double* | :heavy_minus_sign: | N/A | 4.7 | +| `AudienceRating` | *double* | :heavy_minus_sign: | N/A | 8.3 | +| `Year` | *double* | :heavy_minus_sign: | N/A | 2023 | +| `Tagline` | *string* | :heavy_minus_sign: | N/A | Witness the beginning of a new dynasty. | +| `Thumb` | *string* | :heavy_minus_sign: | N/A | /library/metadata/59398/thumb/1681888010 | +| `Art` | *string* | :heavy_minus_sign: | N/A | /library/metadata/59398/art/1681888010 | +| `Duration` | *double* | :heavy_minus_sign: | N/A | 7474422 | +| `OriginallyAvailableAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | N/A | 2023-02-15 00:00:00 +0000 UTC | +| `AddedAt` | *double* | :heavy_minus_sign: | N/A | 1681803215 | +| `UpdatedAt` | *double* | :heavy_minus_sign: | N/A | 1681888010 | +| `AudienceRatingImage` | *string* | :heavy_minus_sign: | N/A | rottentomatoes://image.rating.upright | +| `ChapterSource` | *string* | :heavy_minus_sign: | N/A | media | +| `PrimaryExtraKey` | *string* | :heavy_minus_sign: | N/A | /library/metadata/59399 | +| `RatingImage` | *string* | :heavy_minus_sign: | N/A | rottentomatoes://image.rating.rotten | +| `Media` | List<[GetRecentlyAddedLibraryMedia](../../Models/Requests/GetRecentlyAddedLibraryMedia.md)> | :heavy_minus_sign: | N/A | | +| `Genre` | List<[GetRecentlyAddedLibraryGenre](../../Models/Requests/GetRecentlyAddedLibraryGenre.md)> | :heavy_minus_sign: | N/A | | +| `Director` | List<[GetRecentlyAddedLibraryDirector](../../Models/Requests/GetRecentlyAddedLibraryDirector.md)> | :heavy_minus_sign: | N/A | | +| `Writer` | List<[GetRecentlyAddedLibraryWriter](../../Models/Requests/GetRecentlyAddedLibraryWriter.md)> | :heavy_minus_sign: | N/A | | +| `Country` | List<[GetRecentlyAddedLibraryCountry](../../Models/Requests/GetRecentlyAddedLibraryCountry.md)> | :heavy_minus_sign: | N/A | | +| `Role` | List<[GetRecentlyAddedLibraryRole](../../Models/Requests/GetRecentlyAddedLibraryRole.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/Models/Requests/GetRecentlyAddedLibraryPart.md b/docs/Models/Requests/GetRecentlyAddedLibraryPart.md new file mode 100644 index 0000000..fc64f6e --- /dev/null +++ b/docs/Models/Requests/GetRecentlyAddedLibraryPart.md @@ -0,0 +1,17 @@ +# GetRecentlyAddedLibraryPart + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | +| `Id` | *double* | :heavy_minus_sign: | N/A | 120353 | +| `Key` | *string* | :heavy_minus_sign: | N/A | /library/parts/120353/1681803203/file.mp4 | +| `Duration` | *double* | :heavy_minus_sign: | N/A | 7474422 | +| `File` | *string* | :heavy_minus_sign: | N/A | /movies/Ant-Man and the Wasp Quantumania (2023)/Ant-Man.and.the.Wasp.Quantumania.2023.1080p.mp4 | +| `Size` | *double* | :heavy_minus_sign: | N/A | 3395307162 | +| `Container` | *string* | :heavy_minus_sign: | N/A | mp4 | +| `Has64bitOffsets` | *bool* | :heavy_minus_sign: | N/A | | +| `HasThumbnail` | *double* | :heavy_minus_sign: | N/A | 1 | +| `OptimizedForStreaming` | *bool* | :heavy_minus_sign: | N/A | | +| `VideoProfile` | *string* | :heavy_minus_sign: | N/A | high | \ No newline at end of file diff --git a/docs/Models/Requests/GetRecentlyAddedLibraryRequest.md b/docs/Models/Requests/GetRecentlyAddedLibraryRequest.md new file mode 100644 index 0000000..757d014 --- /dev/null +++ b/docs/Models/Requests/GetRecentlyAddedLibraryRequest.md @@ -0,0 +1,14 @@ +# GetRecentlyAddedLibraryRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Type` | [QueryParamType](../../Models/Requests/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` | *long* | :heavy_minus_sign: | N/A | 2 | +| `PinnedContentDirectoryID` | List<*long*> | :heavy_minus_sign: | N/A | [
3,
5,
7,
13,
12,
1,
6,
14,
2,
10,
16,
17
] | +| `SectionID` | *long* | :heavy_minus_sign: | The library section ID for filtering content. | 2 | +| `IncludeMeta` | [QueryParamIncludeMeta](../../Models/Requests/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/Requests/GetRecentlyAddedLibraryResponse.md b/docs/Models/Requests/GetRecentlyAddedLibraryResponse.md new file mode 100644 index 0000000..32e3354 --- /dev/null +++ b/docs/Models/Requests/GetRecentlyAddedLibraryResponse.md @@ -0,0 +1,11 @@ +# GetRecentlyAddedLibraryResponse + + +## 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` | [HttpResponseMessage](https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpresponsemessage?view=net-5.0) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `Object` | [GetRecentlyAddedLibraryResponseBody](../../Models/Requests/GetRecentlyAddedLibraryResponseBody.md) | :heavy_minus_sign: | The recently added content | \ No newline at end of file diff --git a/docs/Models/Requests/GetRecentlyAddedLibraryResponseBody.md b/docs/Models/Requests/GetRecentlyAddedLibraryResponseBody.md new file mode 100644 index 0000000..de7d8ce --- /dev/null +++ b/docs/Models/Requests/GetRecentlyAddedLibraryResponseBody.md @@ -0,0 +1,10 @@ +# GetRecentlyAddedLibraryResponseBody + +The recently added content + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | +| `MediaContainer` | [GetRecentlyAddedLibraryMediaContainer](../../Models/Requests/GetRecentlyAddedLibraryMediaContainer.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/Models/Requests/GetRecentlyAddedLibraryRole.md b/docs/Models/Requests/GetRecentlyAddedLibraryRole.md new file mode 100644 index 0000000..1f0ae9d --- /dev/null +++ b/docs/Models/Requests/GetRecentlyAddedLibraryRole.md @@ -0,0 +1,8 @@ +# GetRecentlyAddedLibraryRole + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | +| `Tag` | *string* | :heavy_minus_sign: | N/A | Paul Rudd | \ No newline at end of file diff --git a/docs/Models/Requests/GetRecentlyAddedLibraryType.md b/docs/Models/Requests/GetRecentlyAddedLibraryType.md new file mode 100644 index 0000000..3c3ddbb --- /dev/null +++ b/docs/Models/Requests/GetRecentlyAddedLibraryType.md @@ -0,0 +1,14 @@ +# GetRecentlyAddedLibraryType + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | +| `Key` | *string* | :heavy_check_mark: | N/A | /library/sections/2/all?type=2 | +| `Type` | *string* | :heavy_check_mark: | N/A | show | +| `Title` | *string* | :heavy_check_mark: | N/A | TV Shows | +| `Active` | *bool* | :heavy_check_mark: | N/A | false | +| `Filter` | List<[GetRecentlyAddedLibraryFilter](../../Models/Requests/GetRecentlyAddedLibraryFilter.md)> | :heavy_minus_sign: | N/A | | +| `Sort` | List<[Sort](../../Models/Requests/Sort.md)> | :heavy_minus_sign: | N/A | | +| `Field` | List<[Field](../../Models/Requests/Field.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/Models/Requests/GetRecentlyAddedLibraryWriter.md b/docs/Models/Requests/GetRecentlyAddedLibraryWriter.md new file mode 100644 index 0000000..d517f9a --- /dev/null +++ b/docs/Models/Requests/GetRecentlyAddedLibraryWriter.md @@ -0,0 +1,8 @@ +# GetRecentlyAddedLibraryWriter + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | +| `Tag` | *string* | :heavy_minus_sign: | N/A | Jeff Loveness | \ No newline at end of file diff --git a/docs/Models/Requests/GetRecentlyAddedMediaContainer.md b/docs/Models/Requests/GetRecentlyAddedMediaContainer.md index 9861c92..3fa0cef 100644 --- a/docs/Models/Requests/GetRecentlyAddedMediaContainer.md +++ b/docs/Models/Requests/GetRecentlyAddedMediaContainer.md @@ -3,12 +3,12 @@ ## Fields -| Field | Type | Required | Description | Example | -| ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | -| `Size` | *double* | :heavy_minus_sign: | N/A | 50 | -| `AllowSync` | *bool* | :heavy_minus_sign: | N/A | | -| `Identifier` | *string* | :heavy_minus_sign: | N/A | com.plexapp.plugins.library | -| `MediaTagPrefix` | *string* | :heavy_minus_sign: | N/A | /system/bundle/media/flags/ | -| `MediaTagVersion` | *double* | :heavy_minus_sign: | N/A | 1680021154 | -| `MixedParents` | *bool* | :heavy_minus_sign: | N/A | | -| `Metadata` | List<[GetRecentlyAddedMetadata](../../Models/Requests/GetRecentlyAddedMetadata.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | +| `Size` | *double* | :heavy_check_mark: | N/A | 50 | +| `Offset` | *int* | :heavy_minus_sign: | N/A | | +| `TotalSize` | *int* | :heavy_minus_sign: | N/A | | +| `Identifier` | *string* | :heavy_minus_sign: | N/A | com.plexapp.plugins.library | +| `AllowSync` | *bool* | :heavy_minus_sign: | N/A | | +| `Meta` | [Meta](../../Models/Requests/Meta.md) | :heavy_minus_sign: | The Meta object is only included in the response if the `includeMeta` parameter is set to `1`.
| | +| `Metadata` | List<[GetRecentlyAddedMetadata](../../Models/Requests/GetRecentlyAddedMetadata.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/Models/Requests/GetRecentlyAddedMetadata.md b/docs/Models/Requests/GetRecentlyAddedMetadata.md index 79b52ef..080230a 100644 --- a/docs/Models/Requests/GetRecentlyAddedMetadata.md +++ b/docs/Models/Requests/GetRecentlyAddedMetadata.md @@ -3,37 +3,78 @@ ## Fields -| Field | Type | Required | Description | Example | -| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `AllowSync` | *bool* | :heavy_minus_sign: | N/A | | -| `LibrarySectionID` | *double* | :heavy_minus_sign: | N/A | 1 | -| `LibrarySectionTitle` | *string* | :heavy_minus_sign: | N/A | Movies | -| `LibrarySectionUUID` | *string* | :heavy_minus_sign: | N/A | 322a231a-b7f7-49f5-920f-14c61199cd30 | -| `RatingKey` | *double* | :heavy_minus_sign: | N/A | 59398 | -| `Key` | *string* | :heavy_minus_sign: | N/A | /library/metadata/59398 | -| `Guid` | *string* | :heavy_minus_sign: | N/A | plex://movie/5e161a83bea6ac004126e148 | -| `Studio` | *string* | :heavy_minus_sign: | N/A | Marvel Studios | -| `Type` | *string* | :heavy_minus_sign: | N/A | movie | -| `Title` | *string* | :heavy_minus_sign: | N/A | Ant-Man and the Wasp: Quantumania | -| `ContentRating` | *string* | :heavy_minus_sign: | N/A | PG-13 | -| `Summary` | *string* | :heavy_minus_sign: | N/A | Scott Lang and Hope Van Dyne along with Hank Pym and Janet Van Dyne explore the Quantum Realm where they interact with strange creatures and embark on an adventure that goes beyond the limits of what they thought was possible. | -| `Rating` | *double* | :heavy_minus_sign: | N/A | 4.7 | -| `AudienceRating` | *double* | :heavy_minus_sign: | N/A | 8.3 | -| `Year` | *double* | :heavy_minus_sign: | N/A | 2023 | -| `Tagline` | *string* | :heavy_minus_sign: | N/A | Witness the beginning of a new dynasty. | -| `Thumb` | *string* | :heavy_minus_sign: | N/A | /library/metadata/59398/thumb/1681888010 | -| `Art` | *string* | :heavy_minus_sign: | N/A | /library/metadata/59398/art/1681888010 | -| `Duration` | *double* | :heavy_minus_sign: | N/A | 7474422 | -| `OriginallyAvailableAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | N/A | 2023-02-15 00:00:00 +0000 UTC | -| `AddedAt` | *double* | :heavy_minus_sign: | N/A | 1681803215 | -| `UpdatedAt` | *double* | :heavy_minus_sign: | N/A | 1681888010 | -| `AudienceRatingImage` | *string* | :heavy_minus_sign: | N/A | rottentomatoes://image.rating.upright | -| `ChapterSource` | *string* | :heavy_minus_sign: | N/A | media | -| `PrimaryExtraKey` | *string* | :heavy_minus_sign: | N/A | /library/metadata/59399 | -| `RatingImage` | *string* | :heavy_minus_sign: | N/A | rottentomatoes://image.rating.rotten | -| `Media` | List<[Models.Requests.Media](../../Models/Requests/Media.md)> | :heavy_minus_sign: | N/A | | -| `Genre` | List<[Genre](../../Models/Requests/Genre.md)> | :heavy_minus_sign: | N/A | | -| `Director` | List<[Director](../../Models/Requests/Director.md)> | :heavy_minus_sign: | N/A | | -| `Writer` | List<[Writer](../../Models/Requests/Writer.md)> | :heavy_minus_sign: | N/A | | -| `Country` | List<[Country](../../Models/Requests/Country.md)> | :heavy_minus_sign: | N/A | | -| `Role` | List<[Role](../../Models/Requests/Role.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 (Media ID) of this media item.
Note: This is always an integer, but is represented as a string in the API.
| 58683 | +| `Key` | *string* | :heavy_check_mark: | N/A | /library/metadata/58683 | +| `Guid` | *string* | :heavy_check_mark: | N/A | plex://movie/5d7768ba96b655001fdc0408 | +| `Studio` | *string* | :heavy_minus_sign: | N/A | 20th Century Studios | +| `SkipChildren` | *bool* | :heavy_minus_sign: | N/A | false | +| `LibrarySectionID` | *long* | :heavy_minus_sign: | N/A | 1 | +| `LibrarySectionTitle` | *string* | :heavy_minus_sign: | N/A | Movies | +| `LibrarySectionKey` | *string* | :heavy_minus_sign: | N/A | /library/sections/1 | +| `Type` | [GetRecentlyAddedHubsType](../../Models/Requests/GetRecentlyAddedHubsType.md) | :heavy_check_mark: | The type of media content
| movie | +| `Title` | *string* | :heavy_check_mark: | N/A | Avatar: The Way of Water | +| `Slug` | *string* | :heavy_minus_sign: | N/A | 4-for-texas | +| `ContentRating` | *string* | :heavy_minus_sign: | N/A | PG-13 | +| `Summary` | *string* | :heavy_check_mark: | N/A | Jake Sully lives with his newfound family formed on the extrasolar moon Pandora. Once a familiar threat returns to finish what was previously started, Jake must work with Neytiri and the army of the Na'vi race to protect their home. | +| `Rating` | *double* | :heavy_minus_sign: | N/A | 7.6 | +| `AudienceRating` | *double* | :heavy_minus_sign: | N/A | 9.2 | +| `Year` | *int* | :heavy_minus_sign: | N/A | 2022 | +| `SeasonCount` | *int* | :heavy_minus_sign: | N/A | 2022 | +| `Tagline` | *string* | :heavy_minus_sign: | N/A | Return to Pandora. | +| `FlattenSeasons` | [FlattenSeasons](../../Models/Requests/FlattenSeasons.md) | :heavy_minus_sign: | N/A | 1 | +| `ShowOrdering` | [ShowOrdering](../../Models/Requests/ShowOrdering.md) | :heavy_minus_sign: | Setting that indicates the episode ordering for the show
None = Library default,
tmdbAiring = The Movie Database (Aired),
aired = TheTVDB (Aired),
dvd = TheTVDB (DVD),
absolute = TheTVDB (Absolute)).
| dvd | +| `Thumb` | *string* | :heavy_minus_sign: | N/A | /library/metadata/58683/thumb/1703239236 | +| `Art` | *string* | :heavy_minus_sign: | N/A | /library/metadata/58683/art/1703239236 | +| `Banner` | *string* | :heavy_minus_sign: | N/A | /library/metadata/58683/banner/1703239236 | +| `Duration` | *int* | :heavy_minus_sign: | N/A | 11558112 | +| `OriginallyAvailableAt` | [LocalDate](https://nodatime.org/3.1.x/api/NodaTime.LocalDate.html) | :heavy_minus_sign: | N/A | 2022-12-14 00:00:00 +0000 UTC | +| `AddedAt` | *long* | :heavy_check_mark: | Unix epoch datetime in seconds | 1556281940 | +| `UpdatedAt` | *long* | :heavy_minus_sign: | Unix epoch datetime in seconds | 1556281940 | +| `AudienceRatingImage` | *string* | :heavy_minus_sign: | N/A | rottentomatoes://image.rating.upright | +| `ChapterSource` | *string* | :heavy_minus_sign: | N/A | media | +| `PrimaryExtraKey` | *string* | :heavy_minus_sign: | N/A | /library/metadata/58684 | +| `RatingImage` | *string* | :heavy_minus_sign: | N/A | rottentomatoes://image.rating.ripe | +| `GrandparentRatingKey` | *string* | :heavy_minus_sign: | N/A | 66 | +| `GrandparentGuid` | *string* | :heavy_minus_sign: | N/A | plex://show/5d9c081b170e24001f2a7be4 | +| `GrandparentKey` | *string* | :heavy_minus_sign: | N/A | /library/metadata/66 | +| `GrandparentTitle` | *string* | :heavy_minus_sign: | N/A | Caprica | +| `GrandparentThumb` | *string* | :heavy_minus_sign: | N/A | /library/metadata/66/thumb/1705716261 | +| `ParentSlug` | *string* | :heavy_minus_sign: | N/A | alice-in-borderland-2020 | +| `GrandparentSlug` | *string* | :heavy_minus_sign: | N/A | alice-in-borderland-2020 | +| `GrandparentArt` | *string* | :heavy_minus_sign: | N/A | /library/metadata/66/art/1705716261 | +| `GrandparentTheme` | *string* | :heavy_minus_sign: | N/A | /library/metadata/66/theme/1705716261 | +| `Media` | List<[Models.Requests.Media](../../Models/Requests/Media.md)> | :heavy_minus_sign: | The Media object is only included when type query is `4` or higher.
| | +| `Genre` | List<[Genre](../../Models/Requests/Genre.md)> | :heavy_minus_sign: | N/A | | +| `Country` | List<[Country](../../Models/Requests/Country.md)> | :heavy_minus_sign: | N/A | | +| `Director` | List<[Director](../../Models/Requests/Director.md)> | :heavy_minus_sign: | N/A | | +| `Writer` | List<[Writer](../../Models/Requests/Writer.md)> | :heavy_minus_sign: | N/A | | +| `Collection` | List<[Collection](../../Models/Requests/Collection.md)> | :heavy_minus_sign: | N/A | | +| `Role` | List<[Role](../../Models/Requests/Role.md)> | :heavy_minus_sign: | N/A | | +| `MediaGuid` | List<[MediaGuid](../../Models/Requests/MediaGuid.md)> | :heavy_minus_sign: | The Guid object is only included in the response if the `includeGuids` parameter is set to `1`.
| | +| `UltraBlurColors` | [UltraBlurColors](../../Models/Requests/UltraBlurColors.md) | :heavy_minus_sign: | N/A | | +| `MetaDataRating` | List<[MetaDataRating](../../Models/Requests/MetaDataRating.md)> | :heavy_minus_sign: | N/A | | +| `Image` | List<[GetRecentlyAddedImage](../../Models/Requests/GetRecentlyAddedImage.md)> | :heavy_minus_sign: | N/A | | +| `TitleSort` | *string* | :heavy_minus_sign: | N/A | Whale | +| `ViewCount` | *int* | :heavy_minus_sign: | N/A | 1 | +| `LastViewedAt` | *int* | :heavy_minus_sign: | N/A | 1682752242 | +| `OriginalTitle` | *string* | :heavy_minus_sign: | N/A | 映画 ブラッククローバー 魔法帝の剣 | +| `ViewOffset` | *int* | :heavy_minus_sign: | N/A | 5222500 | +| `SkipCount` | *int* | :heavy_minus_sign: | N/A | 1 | +| `Index` | *int* | :heavy_minus_sign: | N/A | 1 | +| `Theme` | *string* | :heavy_minus_sign: | N/A | /library/metadata/1/theme/1705636920 | +| `LeafCount` | *int* | :heavy_minus_sign: | N/A | 14 | +| `ViewedLeafCount` | *int* | :heavy_minus_sign: | N/A | 0 | +| `ChildCount` | *int* | :heavy_minus_sign: | N/A | 1 | +| `HasPremiumExtras` | *string* | :heavy_minus_sign: | N/A | 1 | +| `HasPremiumPrimaryExtra` | *string* | :heavy_minus_sign: | N/A | 1 | +| `ParentRatingKey` | *string* | :heavy_minus_sign: | The rating key of the parent item.
| 66 | +| `ParentGuid` | *string* | :heavy_minus_sign: | N/A | plex://show/5d9c081b170e24001f2a7be4 | +| `ParentStudio` | *string* | :heavy_minus_sign: | N/A | UCP | +| `ParentKey` | *string* | :heavy_minus_sign: | N/A | /library/metadata/66 | +| `ParentTitle` | *string* | :heavy_minus_sign: | N/A | Caprica | +| `ParentIndex` | *int* | :heavy_minus_sign: | N/A | 1 | +| `ParentYear` | *int* | :heavy_minus_sign: | N/A | 2010 | +| `ParentThumb` | *string* | :heavy_minus_sign: | N/A | /library/metadata/66/thumb/1705716261 | +| `ParentTheme` | *string* | :heavy_minus_sign: | N/A | /library/metadata/66/theme/1705716261 | \ No newline at end of file diff --git a/docs/Models/Requests/GetRecentlyAddedOperator.md b/docs/Models/Requests/GetRecentlyAddedOperator.md new file mode 100644 index 0000000..19071c5 --- /dev/null +++ b/docs/Models/Requests/GetRecentlyAddedOperator.md @@ -0,0 +1,9 @@ +# GetRecentlyAddedOperator + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | +| `Key` | *string* | :heavy_check_mark: | N/A | = | +| `Title` | *string* | :heavy_check_mark: | N/A | is | \ No newline at end of file diff --git a/docs/Models/Requests/GetRecentlyAddedRequest.md b/docs/Models/Requests/GetRecentlyAddedRequest.md index 9a4adb7..2b55a42 100644 --- a/docs/Models/Requests/GetRecentlyAddedRequest.md +++ b/docs/Models/Requests/GetRecentlyAddedRequest.md @@ -5,5 +5,10 @@ | Field | Type | Required | Description | Example | | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `ContentDirectoryID` | *long* | :heavy_check_mark: | The content directory ID. | | +| `Type` | [Models.Requests.Type](../../Models/Requests/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` | *long* | :heavy_minus_sign: | The library section ID for filtering content. | 2 | +| `IncludeMeta` | [IncludeMeta](../../Models/Requests/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/Requests/GetRecentlyAddedResponse.md b/docs/Models/Requests/GetRecentlyAddedResponse.md index bffd61f..31f4c13 100644 --- a/docs/Models/Requests/GetRecentlyAddedResponse.md +++ b/docs/Models/Requests/GetRecentlyAddedResponse.md @@ -8,4 +8,4 @@ | `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | | `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | | `RawResponse` | [HttpResponseMessage](https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpresponsemessage?view=net-5.0) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | -| `Object` | [GetRecentlyAddedResponseBody](../../Models/Requests/GetRecentlyAddedResponseBody.md) | :heavy_minus_sign: | The recently added content | \ No newline at end of file +| `Object` | [GetRecentlyAddedResponseBody](../../Models/Requests/GetRecentlyAddedResponseBody.md) | :heavy_minus_sign: | A successful response with recently added content. | \ No newline at end of file diff --git a/docs/Models/Requests/GetRecentlyAddedResponseBody.md b/docs/Models/Requests/GetRecentlyAddedResponseBody.md index b1f6c49..09295dc 100644 --- a/docs/Models/Requests/GetRecentlyAddedResponseBody.md +++ b/docs/Models/Requests/GetRecentlyAddedResponseBody.md @@ -1,6 +1,6 @@ # GetRecentlyAddedResponseBody -The recently added content +A successful response with recently added content. ## Fields diff --git a/docs/Models/Requests/GetRecentlyAddedSort.md b/docs/Models/Requests/GetRecentlyAddedSort.md new file mode 100644 index 0000000..ac6bfcd --- /dev/null +++ b/docs/Models/Requests/GetRecentlyAddedSort.md @@ -0,0 +1,15 @@ +# GetRecentlyAddedSort + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | +| `Default` | *string* | :heavy_minus_sign: | N/A | asc | +| `Active` | *bool* | :heavy_minus_sign: | N/A | false | +| `ActiveDirection` | [GetRecentlyAddedActiveDirection](../../Models/Requests/GetRecentlyAddedActiveDirection.md) | :heavy_minus_sign: | The direction of the sort. Can be either `asc` or `desc`.
| asc | +| `DefaultDirection` | [GetRecentlyAddedDefaultDirection](../../Models/Requests/GetRecentlyAddedDefaultDirection.md) | :heavy_minus_sign: | The direction of the sort. Can be either `asc` or `desc`.
| asc | +| `DescKey` | *string* | :heavy_minus_sign: | N/A | titleSort:desc | +| `FirstCharacterKey` | *string* | :heavy_minus_sign: | N/A | /library/sections/2/firstCharacter | +| `Key` | *string* | :heavy_check_mark: | N/A | titleSort | +| `Title` | *string* | :heavy_check_mark: | N/A | Title | \ No newline at end of file diff --git a/docs/Models/Requests/GetRecentlyAddedType.md b/docs/Models/Requests/GetRecentlyAddedType.md new file mode 100644 index 0000000..b07a2af --- /dev/null +++ b/docs/Models/Requests/GetRecentlyAddedType.md @@ -0,0 +1,14 @@ +# GetRecentlyAddedType + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | +| `Key` | *string* | :heavy_check_mark: | N/A | /library/sections/2/all?type=2 | +| `Type` | *string* | :heavy_check_mark: | N/A | show | +| `Title` | *string* | :heavy_check_mark: | N/A | TV Shows | +| `Active` | *bool* | :heavy_check_mark: | N/A | false | +| `Filter` | List<[GetRecentlyAddedFilter](../../Models/Requests/GetRecentlyAddedFilter.md)> | :heavy_minus_sign: | N/A | | +| `Sort` | List<[GetRecentlyAddedSort](../../Models/Requests/GetRecentlyAddedSort.md)> | :heavy_minus_sign: | N/A | | +| `Field` | List<[GetRecentlyAddedField](../../Models/Requests/GetRecentlyAddedField.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/Models/Requests/GetSearchLibraryQueryParamType.md b/docs/Models/Requests/GetSearchLibraryQueryParamType.md new file mode 100644 index 0000000..96e485b --- /dev/null +++ b/docs/Models/Requests/GetSearchLibraryQueryParamType.md @@ -0,0 +1,19 @@ +# GetSearchLibraryQueryParamType + +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 + + + +## Values + +| Name | Value | +| --------- | --------- | +| `Movie` | 1 | +| `TvShow` | 2 | +| `Season` | 3 | +| `Episode` | 4 | \ No newline at end of file diff --git a/docs/Models/Requests/GetSearchLibraryRequest.md b/docs/Models/Requests/GetSearchLibraryRequest.md index 4292bf3..ca7d891 100644 --- a/docs/Models/Requests/GetSearchLibraryRequest.md +++ b/docs/Models/Requests/GetSearchLibraryRequest.md @@ -6,4 +6,4 @@ | 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` | [QueryParamType](../../Models/Requests/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 | \ No newline at end of file +| `Type` | [GetSearchLibraryQueryParamType](../../Models/Requests/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 diff --git a/docs/Models/Requests/LibrarySectionID.md b/docs/Models/Requests/LibrarySectionID.md deleted file mode 100644 index 5f3ffee..0000000 --- a/docs/Models/Requests/LibrarySectionID.md +++ /dev/null @@ -1,16 +0,0 @@ -# LibrarySectionID - - -## Supported Types - -### Integer - -```csharp -LibrarySectionID.CreateInteger(/* values here */); -``` - -### Str - -```csharp -LibrarySectionID.CreateStr(/* values here */); -``` diff --git a/docs/Models/Requests/Media.md b/docs/Models/Requests/Media.md index da47c0f..f72da31 100644 --- a/docs/Models/Requests/Media.md +++ b/docs/Models/Requests/Media.md @@ -3,21 +3,23 @@ ## Fields -| Field | Type | Required | Description | Example | -| ------------------------------------------- | ------------------------------------------- | ------------------------------------------- | ------------------------------------------- | ------------------------------------------- | -| `Id` | *double* | :heavy_minus_sign: | N/A | 120345 | -| `Duration` | *double* | :heavy_minus_sign: | N/A | 7474422 | -| `Bitrate` | *double* | :heavy_minus_sign: | N/A | 3623 | -| `Width` | *double* | :heavy_minus_sign: | N/A | 1920 | -| `Height` | *double* | :heavy_minus_sign: | N/A | 804 | -| `AspectRatio` | *double* | :heavy_minus_sign: | N/A | 2.35 | -| `AudioChannels` | *double* | :heavy_minus_sign: | N/A | 6 | -| `AudioCodec` | *string* | :heavy_minus_sign: | N/A | ac3 | -| `VideoCodec` | *string* | :heavy_minus_sign: | N/A | h264 | -| `VideoResolution` | *double* | :heavy_minus_sign: | N/A | 1080 | -| `Container` | *string* | :heavy_minus_sign: | N/A | mp4 | -| `VideoFrameRate` | *string* | :heavy_minus_sign: | N/A | 24p | -| `OptimizedForStreaming` | *double* | :heavy_minus_sign: | N/A | 0 | -| `Has64bitOffsets` | *bool* | :heavy_minus_sign: | N/A | | -| `VideoProfile` | *string* | :heavy_minus_sign: | N/A | high | -| `Part` | List<[Part](../../Models/Requests/Part.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | +| `Id` | *int* | :heavy_check_mark: | N/A | 119534 | +| `Duration` | *int* | :heavy_check_mark: | N/A | 11558112 | +| `Bitrate` | *int* | :heavy_check_mark: | N/A | 25025 | +| `Width` | *int* | :heavy_check_mark: | N/A | 3840 | +| `Height` | *int* | :heavy_check_mark: | N/A | 2072 | +| `AspectRatio` | *double* | :heavy_check_mark: | N/A | 1.85 | +| `AudioProfile` | *string* | :heavy_minus_sign: | N/A | dts | +| `AudioChannels` | *int* | :heavy_check_mark: | N/A | 6 | +| `AudioCodec` | *string* | :heavy_check_mark: | N/A | eac3 | +| `VideoCodec` | *string* | :heavy_check_mark: | N/A | hevc | +| `VideoResolution` | *string* | :heavy_check_mark: | N/A | 4k | +| `Container` | *string* | :heavy_check_mark: | N/A | mkv | +| `VideoFrameRate` | *string* | :heavy_check_mark: | N/A | 24p | +| `VideoProfile` | *string* | :heavy_check_mark: | N/A | main 10 | +| `HasVoiceActivity` | *bool* | :heavy_minus_sign: | N/A | false | +| `OptimizedForStreaming` | [OptimizedForStreaming](../../Models/Requests/OptimizedForStreaming.md) | :heavy_minus_sign: | N/A | 1 | +| `Has64bitOffsets` | *bool* | :heavy_minus_sign: | N/A | false | +| `Part` | List<[Part](../../Models/Requests/Part.md)> | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Requests/Meta.md b/docs/Models/Requests/Meta.md index 076ba7e..c6f895c 100644 --- a/docs/Models/Requests/Meta.md +++ b/docs/Models/Requests/Meta.md @@ -6,7 +6,7 @@ The Meta object is only included in the response if the `includeMeta` parameter ## Fields -| Field | Type | Required | Description | -| --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | -| `Type` | List<[GetLibraryItemsLibraryType](../../Models/Requests/GetLibraryItemsLibraryType.md)> | :heavy_minus_sign: | N/A | -| `FieldType` | List<[GetLibraryItemsFieldType](../../Models/Requests/GetLibraryItemsFieldType.md)> | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | +| `Type` | List<[GetRecentlyAddedType](../../Models/Requests/GetRecentlyAddedType.md)> | :heavy_minus_sign: | N/A | +| `FieldType` | List<[GetRecentlyAddedFieldType](../../Models/Requests/GetRecentlyAddedFieldType.md)> | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/Models/Requests/MetaDataRating.md b/docs/Models/Requests/MetaDataRating.md new file mode 100644 index 0000000..34f4814 --- /dev/null +++ b/docs/Models/Requests/MetaDataRating.md @@ -0,0 +1,10 @@ +# MetaDataRating + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | +| `Image` | *string* | :heavy_check_mark: | A URI or path to the rating image. | themoviedb://image.rating | +| `Value` | *float* | :heavy_check_mark: | The value of the rating. | 3 | +| `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/Requests/Operator.md b/docs/Models/Requests/Operator.md index 3c3b488..59acf7e 100644 --- a/docs/Models/Requests/Operator.md +++ b/docs/Models/Requests/Operator.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | Example | | ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | -| `Key` | *string* | :heavy_minus_sign: | N/A | = | -| `Title` | *string* | :heavy_minus_sign: | N/A | is | \ No newline at end of file +| `Key` | *string* | :heavy_check_mark: | N/A | = | +| `Title` | *string* | :heavy_check_mark: | N/A | is | \ No newline at end of file diff --git a/docs/Models/Requests/OptimizedForStreaming.md b/docs/Models/Requests/OptimizedForStreaming.md new file mode 100644 index 0000000..6485ce7 --- /dev/null +++ b/docs/Models/Requests/OptimizedForStreaming.md @@ -0,0 +1,9 @@ +# OptimizedForStreaming + + +## Values + +| Name | Value | +| --------- | --------- | +| `Disable` | 0 | +| `Enable` | 1 | \ No newline at end of file diff --git a/docs/Models/Requests/Part.md b/docs/Models/Requests/Part.md index 072ccb0..fc85c68 100644 --- a/docs/Models/Requests/Part.md +++ b/docs/Models/Requests/Part.md @@ -3,15 +3,18 @@ ## Fields -| Field | Type | Required | Description | Example | -| ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | -| `Id` | *double* | :heavy_minus_sign: | N/A | 120353 | -| `Key` | *string* | :heavy_minus_sign: | N/A | /library/parts/120353/1681803203/file.mp4 | -| `Duration` | *double* | :heavy_minus_sign: | N/A | 7474422 | -| `File` | *string* | :heavy_minus_sign: | N/A | /movies/Ant-Man and the Wasp Quantumania (2023)/Ant-Man.and.the.Wasp.Quantumania.2023.1080p.mp4 | -| `Size` | *double* | :heavy_minus_sign: | N/A | 3395307162 | -| `Container` | *string* | :heavy_minus_sign: | N/A | mp4 | -| `Has64bitOffsets` | *bool* | :heavy_minus_sign: | N/A | | -| `HasThumbnail` | *double* | :heavy_minus_sign: | N/A | 1 | -| `OptimizedForStreaming` | *bool* | :heavy_minus_sign: | N/A | | -| `VideoProfile` | *string* | :heavy_minus_sign: | N/A | high | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | +| `Id` | *int* | :heavy_check_mark: | N/A | 119542 | +| `Key` | *string* | :heavy_check_mark: | N/A | /library/parts/119542/1680457526/file.mkv | +| `Duration` | *int* | :heavy_check_mark: | N/A | 11558112 | +| `File` | *string* | :heavy_check_mark: | N/A | /movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv | +| `Size` | *long* | :heavy_check_mark: | N/A | 36158371307 | +| `Container` | *string* | :heavy_check_mark: | The container format of the media file.
| mkv | +| `AudioProfile` | *string* | :heavy_minus_sign: | N/A | dts | +| `Has64bitOffsets` | *bool* | :heavy_minus_sign: | N/A | false | +| `OptimizedForStreaming` | *bool* | :heavy_minus_sign: | N/A | false | +| `VideoProfile` | *string* | :heavy_check_mark: | N/A | main 10 | +| `Indexes` | *string* | :heavy_minus_sign: | N/A | sd | +| `HasThumbnail` | [HasThumbnail](../../Models/Requests/HasThumbnail.md) | :heavy_minus_sign: | N/A | 1 | +| `Stream` | List<[Stream](../../Models/Requests/Stream.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/Models/Requests/QueryParamIncludeMeta.md b/docs/Models/Requests/QueryParamIncludeMeta.md new file mode 100644 index 0000000..85296cc --- /dev/null +++ b/docs/Models/Requests/QueryParamIncludeMeta.md @@ -0,0 +1,12 @@ +# QueryParamIncludeMeta + +Adds the Meta object to the response + + + +## Values + +| Name | Value | +| --------- | --------- | +| `Disable` | 0 | +| `Enable` | 1 | \ No newline at end of file diff --git a/docs/Models/Requests/Role.md b/docs/Models/Requests/Role.md index 011a645..3468620 100644 --- a/docs/Models/Requests/Role.md +++ b/docs/Models/Requests/Role.md @@ -3,6 +3,11 @@ ## Fields -| Field | Type | Required | Description | Example | -| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | -| `Tag` | *string* | :heavy_minus_sign: | N/A | Paul Rudd | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `Id` | *long* | :heavy_minus_sign: | The ID of the tag or actor. | 294129 | +| `Filter` | *string* | :heavy_minus_sign: | The filter used to find the actor or tag. | actor=294129 | +| `Thumb` | *string* | :heavy_minus_sign: | The thumbnail of the actor | https://metadata-static.plex.tv/2/people/27b85844536c39f3f9ac943aaad46608.jpg | +| `Tag` | *string* | :heavy_minus_sign: | The name of the tag or actor. | Mike Smith | +| `TagKey` | *string* | :heavy_minus_sign: | Unique identifier for the tag. | 668e7e7b22bcad9064350c91 | +| `Role` | *string* | :heavy_minus_sign: | The role of the actor or tag in the media. | Self | \ No newline at end of file diff --git a/docs/Models/Requests/Sort.md b/docs/Models/Requests/Sort.md index a7f5e72..788f54d 100644 --- a/docs/Models/Requests/Sort.md +++ b/docs/Models/Requests/Sort.md @@ -3,11 +3,13 @@ ## Fields -| Field | Type | Required | Description | Example | -| ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- | -| `Default` | *string* | :heavy_minus_sign: | N/A | asc | -| `DefaultDirection` | *string* | :heavy_minus_sign: | N/A | desc | -| `DescKey` | *string* | :heavy_minus_sign: | N/A | random:desc | -| `FirstCharacterKey` | *string* | :heavy_minus_sign: | N/A | /library/sections/1/firstCharacter | -| `Key` | *string* | :heavy_minus_sign: | N/A | random | -| `Title` | *string* | :heavy_minus_sign: | N/A | Randomly | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | +| `Default` | *string* | :heavy_minus_sign: | N/A | asc | +| `Active` | *bool* | :heavy_minus_sign: | N/A | false | +| `ActiveDirection` | [ActiveDirection](../../Models/Requests/ActiveDirection.md) | :heavy_minus_sign: | The direction of the sort. Can be either `asc` or `desc`.
| asc | +| `DefaultDirection` | [DefaultDirection](../../Models/Requests/DefaultDirection.md) | :heavy_minus_sign: | The direction of the sort. Can be either `asc` or `desc`.
| asc | +| `DescKey` | *string* | :heavy_minus_sign: | N/A | titleSort:desc | +| `FirstCharacterKey` | *string* | :heavy_minus_sign: | N/A | /library/sections/2/firstCharacter | +| `Key` | *string* | :heavy_check_mark: | N/A | titleSort | +| `Title` | *string* | :heavy_check_mark: | N/A | Title | \ No newline at end of file diff --git a/docs/Models/Requests/Stream.md b/docs/Models/Requests/Stream.md index 0865fec..6ad6df7 100644 --- a/docs/Models/Requests/Stream.md +++ b/docs/Models/Requests/Stream.md @@ -3,37 +3,43 @@ ## 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 +| Field | Type | Required | Description | Example | +| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| `Id` | *long* | :heavy_check_mark: | N/A | 272796 | +| `StreamType` | *long* | :heavy_check_mark: | Type of stream (1 = video, 2 = audio, 3 = subtitle) | 1 | +| `Default` | *bool* | :heavy_minus_sign: | Indicates if this is the default stream | true | +| `Selected` | *bool* | :heavy_minus_sign: | Indicates if the stream is selected | true | +| `Codec` | *string* | :heavy_check_mark: | Codec used by the stream | h264 | +| `Index` | *long* | :heavy_check_mark: | The index of the stream | 0 | +| `Bitrate` | *long* | :heavy_minus_sign: | The bitrate of the stream in kbps | 6273 | +| `ColorPrimaries` | *string* | :heavy_minus_sign: | The color primaries of the video stream | bt709 | +| `ColorRange` | *string* | :heavy_minus_sign: | The color range of the video stream | tv | +| `ColorSpace` | *string* | :heavy_minus_sign: | The color space of the video stream | bt709 | +| `ColorTrc` | *string* | :heavy_minus_sign: | The transfer characteristics (TRC) of the video stream | bt709 | +| `BitDepth` | *long* | :heavy_minus_sign: | The bit depth of the video stream | 8 | +| `ChromaLocation` | *string* | :heavy_minus_sign: | The chroma location of the video stream | left | +| `StreamIdentifier` | *string* | :heavy_minus_sign: | The identifier of the video stream | 2 | +| `ChromaSubsampling` | *string* | :heavy_minus_sign: | The chroma subsampling format | 4:2:0 | +| `CodedHeight` | *long* | :heavy_minus_sign: | The coded height of the video stream | 1088 | +| `CodedWidth` | *long* | :heavy_minus_sign: | The coded width of the video stream | 1920 | +| `FrameRate` | *double* | :heavy_minus_sign: | The frame rate of the video stream | 29.97 | +| `HasScalingMatrix` | *bool* | :heavy_minus_sign: | Indicates if the stream has a scaling matrix | false | +| `HearingImpaired` | *bool* | :heavy_minus_sign: | N/A | false | +| `ClosedCaptions` | *bool* | :heavy_minus_sign: | N/A | false | +| `EmbeddedInVideo` | *string* | :heavy_minus_sign: | N/A | 1 | +| `Height` | *long* | :heavy_minus_sign: | The height of the video stream | 1080 | +| `Level` | *long* | :heavy_minus_sign: | The level of the video codec | 40 | +| `Profile` | *string* | :heavy_minus_sign: | The profile of the video codec | main | +| `RefFrames` | *long* | :heavy_minus_sign: | Number of reference frames | 4 | +| `ScanType` | *string* | :heavy_minus_sign: | The scan type (progressive or interlaced) | progressive | +| `Width` | *long* | :heavy_minus_sign: | The width of the video stream | 1920 | +| `DisplayTitle` | *string* | :heavy_minus_sign: | Display title of the stream | 1080p (H.264) | +| `ExtendedDisplayTitle` | *string* | :heavy_minus_sign: | Extended display title of the stream | 1080p (H.264) | +| `Channels` | *long* | :heavy_minus_sign: | Number of audio channels (for audio streams) | 2 | +| `Language` | *string* | :heavy_minus_sign: | The language of the stream (for audio/subtitle streams) | English | +| `LanguageTag` | *string* | :heavy_minus_sign: | Language tag of the stream | en | +| `LanguageCode` | *string* | :heavy_minus_sign: | Language code of the stream | eng | +| `AudioChannelLayout` | *string* | :heavy_minus_sign: | The audio channel layout | stereo | +| `SamplingRate` | *long* | :heavy_minus_sign: | Sampling rate of the audio stream in Hz | 48000 | +| `Title` | *string* | :heavy_minus_sign: | Title of the subtitle track (for subtitle streams) | English | +| `CanAutoSync` | *bool* | :heavy_minus_sign: | Indicates if the subtitle stream can auto-sync | false | \ No newline at end of file diff --git a/docs/Models/Requests/Writer.md b/docs/Models/Requests/Writer.md index f0739c3..c2d51d6 100644 --- a/docs/Models/Requests/Writer.md +++ b/docs/Models/Requests/Writer.md @@ -5,4 +5,4 @@ | Field | Type | Required | Description | Example | | ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | -| `Tag` | *string* | :heavy_minus_sign: | N/A | Jeff Loveness | \ No newline at end of file +| `Tag` | *string* | :heavy_minus_sign: | N/A | James Cameron | \ No newline at end of file diff --git a/docs/sdks/authentication/README.md b/docs/sdks/authentication/README.md index 27ba3c6..954abf3 100644 --- a/docs/sdks/authentication/README.md +++ b/docs/sdks/authentication/README.md @@ -84,7 +84,7 @@ var sdk = new PlexAPI( deviceName: "Linux" ); -var res = await sdk.Authentication.GetSourceConnectionInformationAsync(source: "provider://provider-identifier"); +var res = await sdk.Authentication.GetSourceConnectionInformationAsync(source: "server://client-identifier"); // handle response ``` diff --git a/docs/sdks/hubs/README.md b/docs/sdks/hubs/README.md index e33f2a8..9a628c2 100644 --- a/docs/sdks/hubs/README.md +++ b/docs/sdks/hubs/README.md @@ -9,6 +9,7 @@ Hubs are a structured two-dimensional container for media, generally represented ### Available Operations * [GetGlobalHubs](#getglobalhubs) - Get Global Hubs +* [GetRecentlyAdded](#getrecentlyadded) - Get Recently Added * [GetLibraryHubs](#getlibraryhubs) - Get library specific hubs ## GetGlobalHubs @@ -59,6 +60,58 @@ var res = await sdk.Hubs.GetGlobalHubsAsync( | LukeHagar.PlexAPI.SDK.Models.Errors.SDKException | 4xx-5xx | */* | +## GetRecentlyAdded + +This endpoint will return the recently added content. + + +### Example Usage + +```csharp +using LukeHagar.PlexAPI.SDK; +using LukeHagar.PlexAPI.SDK.Models.Requests; +using LukeHagar.PlexAPI.SDK.Models.Components; + +var sdk = new PlexAPI( + accessToken: "", + clientID: "gcgzw5rz2xovp84b4vha3a40", + clientName: "Plex Web", + clientVersion: "4.133.0", + clientPlatform: "Chrome", + deviceName: "Linux" +); + +GetRecentlyAddedRequest req = new GetRecentlyAddedRequest() { + ContentDirectoryID = 470161, + Type = LukeHagar.PlexAPI.SDK.Models.Requests.Type.TvShow, + SectionID = 2, + IncludeMeta = LukeHagar.PlexAPI.SDK.Models.Requests.IncludeMeta.Enable, + XPlexContainerStart = 0, + XPlexContainerSize = 50, +}; + +var res = await sdk.Hubs.GetRecentlyAddedAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | +| `request` | [GetRecentlyAddedRequest](../../Models/Requests/GetRecentlyAddedRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[GetRecentlyAddedResponse](../../Models/Requests/GetRecentlyAddedResponse.md)** + +### Errors + +| Error Object | Status Code | Content Type | +| ------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------ | +| LukeHagar.PlexAPI.SDK.Models.Errors.SDKException | 4xx-5xx | */* | + + ## GetLibraryHubs This endpoint will return a list of library specific hubs diff --git a/docs/sdks/library/README.md b/docs/sdks/library/README.md index 5363f2d..928d485 100644 --- a/docs/sdks/library/README.md +++ b/docs/sdks/library/README.md @@ -9,7 +9,7 @@ API Calls interacting with Plex Media Server Libraries ### Available Operations * [GetFileHash](#getfilehash) - Get Hash Value -* [GetRecentlyAdded](#getrecentlyadded) - Get Recently Added +* [GetRecentlyAddedLibrary](#getrecentlyaddedlibrary) - Get Recently Added * [GetAllLibraries](#getalllibraries) - Get All Libraries * [GetLibraryDetails](#getlibrarydetails) - Get Library Details * [DeleteLibrary](#deletelibrary) - Delete Library Section @@ -69,7 +69,7 @@ var res = await sdk.Library.GetFileHashAsync( | LukeHagar.PlexAPI.SDK.Models.Errors.SDKException | 4xx-5xx | */* | -## GetRecentlyAdded +## GetRecentlyAddedLibrary This endpoint will return the recently added content. @@ -79,6 +79,7 @@ This endpoint will return the recently added content. ```csharp using LukeHagar.PlexAPI.SDK; using LukeHagar.PlexAPI.SDK.Models.Requests; +using System.Collections.Generic; using LukeHagar.PlexAPI.SDK.Models.Components; var sdk = new PlexAPI( @@ -90,32 +91,51 @@ var sdk = new PlexAPI( deviceName: "Linux" ); -var res = await sdk.Library.GetRecentlyAddedAsync( - xPlexContainerStart: 0, - xPlexContainerSize: 50 -); +GetRecentlyAddedLibraryRequest req = new GetRecentlyAddedLibraryRequest() { + Type = LukeHagar.PlexAPI.SDK.Models.Requests.QueryParamType.TvShow, + ContentDirectoryID = 2, + PinnedContentDirectoryID = new List() { + 3, + 5, + 7, + 13, + 12, + 1, + 6, + 14, + 2, + 10, + 16, + 17, + }, + SectionID = 2, + IncludeMeta = LukeHagar.PlexAPI.SDK.Models.Requests.QueryParamIncludeMeta.Enable, + XPlexContainerStart = 0, + XPlexContainerSize = 50, +}; + +var res = await sdk.Library.GetRecentlyAddedLibraryAsync(req); // handle response ``` ### Parameters -| Parameter | Type | Required | Description | Example | -| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `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 | +| Parameter | Type | Required | Description | +| ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | +| `request` | [GetRecentlyAddedLibraryRequest](../../Models/Requests/GetRecentlyAddedLibraryRequest.md) | :heavy_check_mark: | The request object to use for the request. | ### Response -**[GetRecentlyAddedResponse](../../Models/Requests/GetRecentlyAddedResponse.md)** +**[GetRecentlyAddedLibraryResponse](../../Models/Requests/GetRecentlyAddedLibraryResponse.md)** ### Errors -| Error Object | Status Code | Content Type | -| ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | -| LukeHagar.PlexAPI.SDK.Models.Errors.GetRecentlyAddedBadRequest | 400 | application/json | -| LukeHagar.PlexAPI.SDK.Models.Errors.GetRecentlyAddedUnauthorized | 401 | application/json | -| LukeHagar.PlexAPI.SDK.Models.Errors.SDKException | 4xx-5xx | */* | +| Error Object | Status Code | Content Type | +| ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | +| LukeHagar.PlexAPI.SDK.Models.Errors.GetRecentlyAddedLibraryBadRequest | 400 | application/json | +| LukeHagar.PlexAPI.SDK.Models.Errors.GetRecentlyAddedLibraryUnauthorized | 401 | application/json | +| LukeHagar.PlexAPI.SDK.Models.Errors.SDKException | 4xx-5xx | */* | ## GetAllLibraries @@ -336,8 +356,8 @@ GetLibraryItemsRequest req = new GetLibraryItemsRequest() { SectionKey = 9518, Tag = LukeHagar.PlexAPI.SDK.Models.Requests.Tag.Edition, IncludeGuids = LukeHagar.PlexAPI.SDK.Models.Requests.IncludeGuids.Enable, - IncludeMeta = LukeHagar.PlexAPI.SDK.Models.Requests.IncludeMeta.Enable, - Type = LukeHagar.PlexAPI.SDK.Models.Requests.Type.TvShow, + Type = LukeHagar.PlexAPI.SDK.Models.Requests.GetLibraryItemsQueryParamType.TvShow, + IncludeMeta = LukeHagar.PlexAPI.SDK.Models.Requests.GetLibraryItemsQueryParamIncludeMeta.Enable, XPlexContainerStart = 0, XPlexContainerSize = 50, }; @@ -455,7 +475,7 @@ var sdk = new PlexAPI( var res = await sdk.Library.GetSearchLibraryAsync( sectionKey: 9518, - type: LukeHagar.PlexAPI.SDK.Models.Requests.QueryParamType.TvShow + type: LukeHagar.PlexAPI.SDK.Models.Requests.GetSearchLibraryQueryParamType.TvShow ); // handle response @@ -466,7 +486,7 @@ var res = await sdk.Library.GetSearchLibraryAsync( | 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` | [QueryParamType](../../Models/Requests/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 | +| `Type` | [GetSearchLibraryQueryParamType](../../Models/Requests/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 | ### Response diff --git a/docs/sdks/search/README.md b/docs/sdks/search/README.md index 83a49ee..e8597f5 100644 --- a/docs/sdks/search/README.md +++ b/docs/sdks/search/README.md @@ -46,7 +46,7 @@ var sdk = new PlexAPI( var res = await sdk.Search.PerformSearchAsync( query: "dylan", - sectionId: 5838.67D, + sectionId: 9372.69D, limit: 5D ); diff --git a/docs/sdks/server/README.md b/docs/sdks/server/README.md index ff0527b..c9a4c0b 100644 --- a/docs/sdks/server/README.md +++ b/docs/sdks/server/README.md @@ -263,8 +263,8 @@ GetResizedPhotoRequest req = new GetResizedPhotoRequest() { Width = 110D, Height = 165D, Opacity = 100, - Blur = 0D, - MinSize = LukeHagar.PlexAPI.SDK.Models.Requests.MinSize.One, + Blur = 20D, + MinSize = LukeHagar.PlexAPI.SDK.Models.Requests.MinSize.Zero, Upscale = LukeHagar.PlexAPI.SDK.Models.Requests.Upscale.One, Url = "/library/metadata/49564/thumb/1654258204", };