mirror of
https://github.com/LukeHagar/plexcsharp.git
synced 2025-12-06 20:47:49 +00:00
Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2b03eae316 | ||
|
|
e2d3ad2f38 | ||
|
|
5d60461459 | ||
|
|
ec1b25e152 | ||
|
|
cc8bc7366d |
@@ -1,12 +1,12 @@
|
||||
lockVersion: 2.0.0
|
||||
id: 5a8dbcbc-e0ee-41f0-9d84-b8b50567d1e9
|
||||
management:
|
||||
docChecksum: 2ad2b4c59994082e04faa0c3e7675f3e
|
||||
docChecksum: f627107f2ac6c53325be4f291ae2dea7
|
||||
docVersion: 0.0.3
|
||||
speakeasyVersion: 1.377.3
|
||||
generationVersion: 2.404.2
|
||||
releaseVersion: 0.4.0
|
||||
configChecksum: 0e72845e7bb366c3b8a4e13005a8fcfe
|
||||
speakeasyVersion: 1.390.7
|
||||
generationVersion: 2.409.8
|
||||
releaseVersion: 0.5.0
|
||||
configChecksum: 4bb12ec49dacd5ee7587cdd901280ff9
|
||||
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.9.14
|
||||
core: 3.9.16
|
||||
deprecations: 2.81.2
|
||||
flattening: 2.81.2
|
||||
globalSecurity: 2.83.6
|
||||
@@ -28,7 +28,6 @@ features:
|
||||
nullables: 0.1.0
|
||||
responseFormat: 0.0.4
|
||||
sdkHooks: 0.1.0
|
||||
typeOverrides: 2.81.1
|
||||
unions: 0.2.1
|
||||
generatedFiles:
|
||||
- PlexAPI/Server.cs
|
||||
@@ -40,14 +39,13 @@ generatedFiles:
|
||||
- PlexAPI/Hubs.cs
|
||||
- PlexAPI/Search.cs
|
||||
- PlexAPI/Library.cs
|
||||
- PlexAPI/Watchlist.cs
|
||||
- PlexAPI/Log.cs
|
||||
- PlexAPI/Playlists.cs
|
||||
- PlexAPI/Authentication.cs
|
||||
- PlexAPI/Statistics.cs
|
||||
- PlexAPI/Sessions.cs
|
||||
- PlexAPI/Updater.cs
|
||||
- PlexAPI/User.cs
|
||||
- PlexAPI/Watchlist.cs
|
||||
- PlexAPI/PlexAPISDK.cs
|
||||
- global.json
|
||||
- PlexAPI.sln
|
||||
@@ -96,6 +94,14 @@ generatedFiles:
|
||||
- PlexAPI/Models/Requests/Upscale.cs
|
||||
- PlexAPI/Models/Requests/GetResizedPhotoRequest.cs
|
||||
- PlexAPI/Models/Requests/GetResizedPhotoResponse.cs
|
||||
- PlexAPI/Models/Requests/GetMediaProvidersRequest.cs
|
||||
- PlexAPI/Models/Requests/Pivot.cs
|
||||
- PlexAPI/Models/Requests/GetMediaProvidersDirectory.cs
|
||||
- PlexAPI/Models/Requests/Feature.cs
|
||||
- PlexAPI/Models/Requests/MediaProvider.cs
|
||||
- PlexAPI/Models/Requests/GetMediaProvidersMediaContainer.cs
|
||||
- PlexAPI/Models/Requests/GetMediaProvidersResponseBody.cs
|
||||
- PlexAPI/Models/Requests/GetMediaProvidersResponse.cs
|
||||
- PlexAPI/Models/Requests/GetServerListServer.cs
|
||||
- PlexAPI/Models/Requests/GetServerListMediaContainer.cs
|
||||
- PlexAPI/Models/Requests/GetServerListResponseBody.cs
|
||||
@@ -106,6 +112,10 @@ generatedFiles:
|
||||
- PlexAPI/Models/Requests/MarkUnplayedResponse.cs
|
||||
- PlexAPI/Models/Requests/UpdatePlayProgressRequest.cs
|
||||
- PlexAPI/Models/Requests/UpdatePlayProgressResponse.cs
|
||||
- PlexAPI/Models/Requests/GetBannerImageRequest.cs
|
||||
- PlexAPI/Models/Requests/GetBannerImageResponse.cs
|
||||
- PlexAPI/Models/Requests/GetThumbImageRequest.cs
|
||||
- PlexAPI/Models/Requests/GetThumbImageResponse.cs
|
||||
- PlexAPI/Models/Requests/State.cs
|
||||
- PlexAPI/Models/Requests/GetTimelineRequest.cs
|
||||
- PlexAPI/Models/Requests/GetTimelineResponse.cs
|
||||
@@ -144,10 +154,10 @@ generatedFiles:
|
||||
- PlexAPI/Models/Requests/IncludeHttps.cs
|
||||
- PlexAPI/Models/Requests/IncludeRelay.cs
|
||||
- PlexAPI/Models/Requests/IncludeIPv6.cs
|
||||
- PlexAPI/Models/Requests/GetResourcesRequest.cs
|
||||
- PlexAPI/Models/Requests/GetServerResourcesRequest.cs
|
||||
- PlexAPI/Models/Requests/Connections.cs
|
||||
- PlexAPI/Models/Requests/PlexDevice.cs
|
||||
- PlexAPI/Models/Requests/GetResourcesResponse.cs
|
||||
- PlexAPI/Models/Requests/GetServerResourcesResponse.cs
|
||||
- PlexAPI/Models/Requests/GetPinRequest.cs
|
||||
- PlexAPI/Models/Requests/GeoData.cs
|
||||
- PlexAPI/Models/Requests/GetPinAuthPinContainer.cs
|
||||
@@ -156,18 +166,6 @@ generatedFiles:
|
||||
- PlexAPI/Models/Requests/GetTokenByPinIdGeoData.cs
|
||||
- PlexAPI/Models/Requests/GetTokenByPinIdAuthPinContainer.cs
|
||||
- PlexAPI/Models/Requests/GetTokenByPinIdResponse.cs
|
||||
- PlexAPI/Models/Requests/MailingListStatus.cs
|
||||
- PlexAPI/Models/Requests/UserProfile.cs
|
||||
- PlexAPI/Models/Requests/GetUserDetailsStatus.cs
|
||||
- PlexAPI/Models/Requests/Services.cs
|
||||
- PlexAPI/Models/Requests/Features.cs
|
||||
- PlexAPI/Models/Requests/GetUserDetailsPlexStatus.cs
|
||||
- PlexAPI/Models/Requests/Subscription.cs
|
||||
- PlexAPI/Models/Requests/GetUserDetailsFeatures.cs
|
||||
- PlexAPI/Models/Requests/GetUserDetailsPlexResponseStatus.cs
|
||||
- PlexAPI/Models/Requests/GetUserDetailsSubscription.cs
|
||||
- PlexAPI/Models/Requests/GetUserDetailsUserPlexAccount.cs
|
||||
- PlexAPI/Models/Requests/GetUserDetailsResponse.cs
|
||||
- PlexAPI/Models/Requests/OnlyTransient.cs
|
||||
- PlexAPI/Models/Requests/GetGlobalHubsRequest.cs
|
||||
- PlexAPI/Models/Requests/GetGlobalHubsMetadata.cs
|
||||
@@ -208,6 +206,7 @@ generatedFiles:
|
||||
- PlexAPI/Models/Requests/GetSearchResultsResponse.cs
|
||||
- PlexAPI/Models/Requests/GetFileHashRequest.cs
|
||||
- PlexAPI/Models/Requests/GetFileHashResponse.cs
|
||||
- PlexAPI/Models/Requests/GetRecentlyAddedRequest.cs
|
||||
- PlexAPI/Models/Requests/Part.cs
|
||||
- PlexAPI/Models/Requests/Media.cs
|
||||
- PlexAPI/Models/Requests/Genre.cs
|
||||
@@ -220,25 +219,28 @@ generatedFiles:
|
||||
- PlexAPI/Models/Requests/GetRecentlyAddedResponseBody.cs
|
||||
- PlexAPI/Models/Requests/GetRecentlyAddedResponse.cs
|
||||
- PlexAPI/Models/Requests/Location.cs
|
||||
- PlexAPI/Models/Requests/GetLibrariesDirectory.cs
|
||||
- PlexAPI/Models/Requests/GetLibrariesMediaContainer.cs
|
||||
- PlexAPI/Models/Requests/GetLibrariesResponseBody.cs
|
||||
- PlexAPI/Models/Requests/GetLibrariesResponse.cs
|
||||
- PlexAPI/Models/Requests/GetAllLibrariesDirectory.cs
|
||||
- PlexAPI/Models/Requests/GetAllLibrariesMediaContainer.cs
|
||||
- PlexAPI/Models/Requests/GetAllLibrariesResponseBody.cs
|
||||
- PlexAPI/Models/Requests/GetAllLibrariesResponse.cs
|
||||
- PlexAPI/Models/Requests/IncludeDetails.cs
|
||||
- PlexAPI/Models/Requests/GetLibraryRequest.cs
|
||||
- PlexAPI/Models/Requests/GetLibraryDirectory.cs
|
||||
- PlexAPI/Models/Requests/GetLibraryFilter.cs
|
||||
- PlexAPI/Models/Requests/GetLibraryDetailsRequest.cs
|
||||
- PlexAPI/Models/Requests/GetLibraryDetailsDirectory.cs
|
||||
- PlexAPI/Models/Requests/GetLibraryDetailsFilter.cs
|
||||
- PlexAPI/Models/Requests/Sort.cs
|
||||
- PlexAPI/Models/Requests/Field.cs
|
||||
- PlexAPI/Models/Requests/GetLibraryType.cs
|
||||
- PlexAPI/Models/Requests/GetLibraryDetailsType.cs
|
||||
- PlexAPI/Models/Requests/Operator.cs
|
||||
- PlexAPI/Models/Requests/FieldType.cs
|
||||
- PlexAPI/Models/Requests/GetLibraryMediaContainer.cs
|
||||
- PlexAPI/Models/Requests/GetLibraryResponseBody.cs
|
||||
- PlexAPI/Models/Requests/GetLibraryResponse.cs
|
||||
- PlexAPI/Models/Requests/GetLibraryDetailsMediaContainer.cs
|
||||
- PlexAPI/Models/Requests/GetLibraryDetailsResponseBody.cs
|
||||
- PlexAPI/Models/Requests/GetLibraryDetailsResponse.cs
|
||||
- PlexAPI/Models/Requests/DeleteLibraryRequest.cs
|
||||
- PlexAPI/Models/Requests/DeleteLibraryResponse.cs
|
||||
- PlexAPI/Models/Requests/Tag.cs
|
||||
- PlexAPI/Models/Requests/IncludeGuids.cs
|
||||
- PlexAPI/Models/Requests/IncludeMeta.cs
|
||||
- PlexAPI/Models/Requests/Type.cs
|
||||
- PlexAPI/Models/Requests/GetLibraryItemsRequest.cs
|
||||
- PlexAPI/Models/Requests/LibrarySectionID.cs
|
||||
- PlexAPI/Models/Requests/GetLibraryItemsPart.cs
|
||||
@@ -252,36 +254,38 @@ generatedFiles:
|
||||
- PlexAPI/Models/Requests/GetLibraryItemsMediaContainer.cs
|
||||
- PlexAPI/Models/Requests/GetLibraryItemsResponseBody.cs
|
||||
- PlexAPI/Models/Requests/GetLibraryItemsResponse.cs
|
||||
- PlexAPI/Models/Requests/RefreshLibraryRequest.cs
|
||||
- PlexAPI/Models/Requests/RefreshLibraryResponse.cs
|
||||
- PlexAPI/Models/Requests/Type.cs
|
||||
- PlexAPI/Models/Requests/SearchLibraryRequest.cs
|
||||
- PlexAPI/Models/Requests/SearchLibraryMetadata.cs
|
||||
- PlexAPI/Models/Requests/SearchLibraryMediaContainer.cs
|
||||
- PlexAPI/Models/Requests/SearchLibraryResponseBody.cs
|
||||
- PlexAPI/Models/Requests/SearchLibraryResponse.cs
|
||||
- PlexAPI/Models/Requests/GetMetadataRequest.cs
|
||||
- PlexAPI/Models/Requests/Force.cs
|
||||
- PlexAPI/Models/Requests/GetRefreshLibraryMetadataRequest.cs
|
||||
- PlexAPI/Models/Requests/GetRefreshLibraryMetadataResponse.cs
|
||||
- PlexAPI/Models/Requests/QueryParamType.cs
|
||||
- PlexAPI/Models/Requests/GetSearchLibraryRequest.cs
|
||||
- PlexAPI/Models/Requests/GetSearchLibraryMetadata.cs
|
||||
- PlexAPI/Models/Requests/GetSearchLibraryMediaContainer.cs
|
||||
- PlexAPI/Models/Requests/GetSearchLibraryResponseBody.cs
|
||||
- PlexAPI/Models/Requests/GetSearchLibraryResponse.cs
|
||||
- PlexAPI/Models/Requests/GetMetaDataByRatingKeyRequest.cs
|
||||
- PlexAPI/Models/Requests/Stream.cs
|
||||
- PlexAPI/Models/Requests/GetMetadataPart.cs
|
||||
- PlexAPI/Models/Requests/GetMetadataMedia.cs
|
||||
- PlexAPI/Models/Requests/GetMetadataGenre.cs
|
||||
- PlexAPI/Models/Requests/GetMetadataCountry.cs
|
||||
- PlexAPI/Models/Requests/GetMetaDataByRatingKeyPart.cs
|
||||
- PlexAPI/Models/Requests/GetMetaDataByRatingKeyMedia.cs
|
||||
- PlexAPI/Models/Requests/GetMetaDataByRatingKeyGenre.cs
|
||||
- PlexAPI/Models/Requests/GetMetaDataByRatingKeyCountry.cs
|
||||
- PlexAPI/Models/Requests/Guids.cs
|
||||
- PlexAPI/Models/Requests/Ratings.cs
|
||||
- PlexAPI/Models/Requests/GetMetadataDirector.cs
|
||||
- PlexAPI/Models/Requests/GetMetadataWriter.cs
|
||||
- PlexAPI/Models/Requests/GetMetadataRole.cs
|
||||
- PlexAPI/Models/Requests/GetMetaDataByRatingKeyDirector.cs
|
||||
- PlexAPI/Models/Requests/GetMetaDataByRatingKeyWriter.cs
|
||||
- PlexAPI/Models/Requests/GetMetaDataByRatingKeyRole.cs
|
||||
- PlexAPI/Models/Requests/Producer.cs
|
||||
- PlexAPI/Models/Requests/GetMetadataMetadata.cs
|
||||
- PlexAPI/Models/Requests/GetMetadataMediaContainer.cs
|
||||
- PlexAPI/Models/Requests/GetMetadataResponseBody.cs
|
||||
- PlexAPI/Models/Requests/GetMetadataResponse.cs
|
||||
- PlexAPI/Models/Requests/GetMetaDataByRatingKeyMetadata.cs
|
||||
- PlexAPI/Models/Requests/GetMetaDataByRatingKeyMediaContainer.cs
|
||||
- PlexAPI/Models/Requests/GetMetaDataByRatingKeyResponseBody.cs
|
||||
- PlexAPI/Models/Requests/GetMetaDataByRatingKeyResponse.cs
|
||||
- PlexAPI/Models/Requests/GetMetadataChildrenRequest.cs
|
||||
- PlexAPI/Models/Requests/GetMetadataChildrenDirectory.cs
|
||||
- PlexAPI/Models/Requests/GetMetadataChildrenMetadata.cs
|
||||
- PlexAPI/Models/Requests/GetMetadataChildrenMediaContainer.cs
|
||||
- PlexAPI/Models/Requests/GetMetadataChildrenResponseBody.cs
|
||||
- PlexAPI/Models/Requests/GetMetadataChildrenResponse.cs
|
||||
- PlexAPI/Models/Requests/GetTopWatchedContentQueryParamType.cs
|
||||
- PlexAPI/Models/Requests/GetTopWatchedContentRequest.cs
|
||||
- PlexAPI/Models/Requests/GetTopWatchedContentGenre.cs
|
||||
- PlexAPI/Models/Requests/GetTopWatchedContentCountry.cs
|
||||
@@ -300,12 +304,21 @@ generatedFiles:
|
||||
- PlexAPI/Models/Requests/GetOnDeckMediaContainer.cs
|
||||
- PlexAPI/Models/Requests/GetOnDeckResponseBody.cs
|
||||
- PlexAPI/Models/Requests/GetOnDeckResponse.cs
|
||||
- PlexAPI/Models/Requests/Filter.cs
|
||||
- PlexAPI/Models/Requests/Libtype.cs
|
||||
- PlexAPI/Models/Requests/IncludeCollections.cs
|
||||
- PlexAPI/Models/Requests/IncludeExternalMedia.cs
|
||||
- PlexAPI/Models/Requests/GetWatchListRequest.cs
|
||||
- PlexAPI/Models/Requests/Image.cs
|
||||
- PlexAPI/Models/Requests/Metadata.cs
|
||||
- PlexAPI/Models/Requests/GetWatchListResponseBody.cs
|
||||
- PlexAPI/Models/Requests/GetWatchListResponse.cs
|
||||
- PlexAPI/Models/Requests/Level.cs
|
||||
- PlexAPI/Models/Requests/LogLineRequest.cs
|
||||
- PlexAPI/Models/Requests/LogLineResponse.cs
|
||||
- PlexAPI/Models/Requests/LogMultiLineResponse.cs
|
||||
- PlexAPI/Models/Requests/EnablePaperTrailResponse.cs
|
||||
- PlexAPI/Models/Requests/QueryParamType.cs
|
||||
- PlexAPI/Models/Requests/CreatePlaylistQueryParamType.cs
|
||||
- PlexAPI/Models/Requests/Smart.cs
|
||||
- PlexAPI/Models/Requests/CreatePlaylistRequest.cs
|
||||
- PlexAPI/Models/Requests/CreatePlaylistMetadata.cs
|
||||
@@ -328,6 +341,7 @@ generatedFiles:
|
||||
- PlexAPI/Models/Requests/DeletePlaylistResponse.cs
|
||||
- PlexAPI/Models/Requests/UpdatePlaylistRequest.cs
|
||||
- PlexAPI/Models/Requests/UpdatePlaylistResponse.cs
|
||||
- PlexAPI/Models/Requests/GetPlaylistContentsQueryParamType.cs
|
||||
- PlexAPI/Models/Requests/GetPlaylistContentsRequest.cs
|
||||
- PlexAPI/Models/Requests/GetPlaylistContentsPart.cs
|
||||
- PlexAPI/Models/Requests/GetPlaylistContentsMedia.cs
|
||||
@@ -347,7 +361,7 @@ generatedFiles:
|
||||
- PlexAPI/Models/Requests/AddPlaylistContentsMediaContainer.cs
|
||||
- PlexAPI/Models/Requests/AddPlaylistContentsResponseBody.cs
|
||||
- PlexAPI/Models/Requests/AddPlaylistContentsResponse.cs
|
||||
- PlexAPI/Models/Requests/Force.cs
|
||||
- PlexAPI/Models/Requests/QueryParamForce.cs
|
||||
- PlexAPI/Models/Requests/UploadPlaylistRequest.cs
|
||||
- PlexAPI/Models/Requests/UploadPlaylistResponse.cs
|
||||
- PlexAPI/Models/Requests/GetTransientTokenQueryParamType.cs
|
||||
@@ -356,6 +370,48 @@ generatedFiles:
|
||||
- PlexAPI/Models/Requests/GetTransientTokenResponse.cs
|
||||
- PlexAPI/Models/Requests/GetSourceConnectionInformationRequest.cs
|
||||
- PlexAPI/Models/Requests/GetSourceConnectionInformationResponse.cs
|
||||
- PlexAPI/Models/Requests/GetUserDetailsRequest.cs
|
||||
- PlexAPI/Models/Requests/MailingListStatus.cs
|
||||
- PlexAPI/Models/Requests/AutoSelectSubtitle.cs
|
||||
- PlexAPI/Models/Requests/DefaultSubtitleAccessibility.cs
|
||||
- PlexAPI/Models/Requests/DefaultSubtitleForced.cs
|
||||
- PlexAPI/Models/Requests/WatchedIndicator.cs
|
||||
- PlexAPI/Models/Requests/MediaReviewsVisibility.cs
|
||||
- PlexAPI/Models/Requests/UserProfile.cs
|
||||
- PlexAPI/Models/Requests/GetUserDetailsStatus.cs
|
||||
- PlexAPI/Models/Requests/Services.cs
|
||||
- PlexAPI/Models/Requests/Features.cs
|
||||
- PlexAPI/Models/Requests/GetUserDetailsAuthenticationStatus.cs
|
||||
- PlexAPI/Models/Requests/Subscription.cs
|
||||
- PlexAPI/Models/Requests/GetUserDetailsFeatures.cs
|
||||
- PlexAPI/Models/Requests/GetUserDetailsAuthenticationResponseStatus.cs
|
||||
- PlexAPI/Models/Requests/GetUserDetailsSubscription.cs
|
||||
- PlexAPI/Models/Requests/GetUserDetailsUserPlexAccount.cs
|
||||
- PlexAPI/Models/Requests/GetUserDetailsResponse.cs
|
||||
- PlexAPI/Models/Requests/PostUsersSignInDataRequestBody.cs
|
||||
- PlexAPI/Models/Requests/PostUsersSignInDataRequest.cs
|
||||
- PlexAPI/Models/Requests/PostUsersSignInDataMailingListStatus.cs
|
||||
- PlexAPI/Models/Requests/PostUsersSignInDataAutoSelectSubtitle.cs
|
||||
- PlexAPI/Models/Requests/PostUsersSignInDataDefaultSubtitleAccessibility.cs
|
||||
- PlexAPI/Models/Requests/PostUsersSignInDataDefaultSubtitleForced.cs
|
||||
- PlexAPI/Models/Requests/PostUsersSignInDataWatchedIndicator.cs
|
||||
- PlexAPI/Models/Requests/PostUsersSignInDataMediaReviewsVisibility.cs
|
||||
- PlexAPI/Models/Requests/PostUsersSignInDataUserProfile.cs
|
||||
- PlexAPI/Models/Requests/PostUsersSignInDataStatus.cs
|
||||
- PlexAPI/Models/Requests/PostUsersSignInDataServices.cs
|
||||
- PlexAPI/Models/Requests/PostUsersSignInDataFeatures.cs
|
||||
- PlexAPI/Models/Requests/PostUsersSignInDataAuthenticationStatus.cs
|
||||
- PlexAPI/Models/Requests/PostUsersSignInDataSubscription.cs
|
||||
- PlexAPI/Models/Requests/PostUsersSignInDataAuthenticationFeatures.cs
|
||||
- PlexAPI/Models/Requests/PostUsersSignInDataAuthenticationResponseStatus.cs
|
||||
- PlexAPI/Models/Requests/PostUsersSignInDataAuthenticationSubscription.cs
|
||||
- PlexAPI/Models/Requests/PostUsersSignInDataState.cs
|
||||
- PlexAPI/Models/Requests/InternalPaymentMethod.cs
|
||||
- PlexAPI/Models/Requests/Billing.cs
|
||||
- PlexAPI/Models/Requests/PastSubscription.cs
|
||||
- PlexAPI/Models/Requests/Trials.cs
|
||||
- PlexAPI/Models/Requests/PostUsersSignInDataUserPlexAccount.cs
|
||||
- PlexAPI/Models/Requests/PostUsersSignInDataResponse.cs
|
||||
- PlexAPI/Models/Requests/GetStatisticsRequest.cs
|
||||
- PlexAPI/Models/Requests/GetStatisticsDevice.cs
|
||||
- PlexAPI/Models/Requests/Account.cs
|
||||
@@ -385,7 +441,7 @@ generatedFiles:
|
||||
- PlexAPI/Models/Requests/GetSessionsMediaContainer.cs
|
||||
- PlexAPI/Models/Requests/GetSessionsResponseBody.cs
|
||||
- PlexAPI/Models/Requests/GetSessionsResponse.cs
|
||||
- PlexAPI/Models/Requests/Filter.cs
|
||||
- PlexAPI/Models/Requests/QueryParamFilter.cs
|
||||
- PlexAPI/Models/Requests/GetSessionHistoryRequest.cs
|
||||
- PlexAPI/Models/Requests/GetSessionHistoryMetadata.cs
|
||||
- PlexAPI/Models/Requests/GetSessionHistoryMediaContainer.cs
|
||||
@@ -408,34 +464,6 @@ generatedFiles:
|
||||
- PlexAPI/Models/Requests/Skip.cs
|
||||
- PlexAPI/Models/Requests/ApplyUpdatesRequest.cs
|
||||
- PlexAPI/Models/Requests/ApplyUpdatesResponse.cs
|
||||
- PlexAPI/Models/Requests/PostUsersSigninDataRequestBody.cs
|
||||
- PlexAPI/Models/Requests/PostUsersSigninDataRequest.cs
|
||||
- PlexAPI/Models/Requests/PostUsersSigninDataMailingListStatus.cs
|
||||
- PlexAPI/Models/Requests/PostUsersSigninDataUserProfile.cs
|
||||
- PlexAPI/Models/Requests/PostUsersSigninDataStatus.cs
|
||||
- PlexAPI/Models/Requests/PostUsersSigninDataServices.cs
|
||||
- PlexAPI/Models/Requests/PostUsersSigninDataFeatures.cs
|
||||
- PlexAPI/Models/Requests/PostUsersSigninDataUserStatus.cs
|
||||
- PlexAPI/Models/Requests/PostUsersSigninDataSubscription.cs
|
||||
- PlexAPI/Models/Requests/PostUsersSigninDataUserFeatures.cs
|
||||
- PlexAPI/Models/Requests/PostUsersSigninDataUserResponseStatus.cs
|
||||
- PlexAPI/Models/Requests/PostUsersSigninDataUserSubscription.cs
|
||||
- PlexAPI/Models/Requests/PostUsersSigninDataState.cs
|
||||
- PlexAPI/Models/Requests/InternalPaymentMethod.cs
|
||||
- PlexAPI/Models/Requests/Billing.cs
|
||||
- PlexAPI/Models/Requests/PastSubscription.cs
|
||||
- PlexAPI/Models/Requests/Trials.cs
|
||||
- PlexAPI/Models/Requests/PostUsersSigninDataUserPlexAccount.cs
|
||||
- PlexAPI/Models/Requests/PostUsersSigninDataResponse.cs
|
||||
- PlexAPI/Models/Requests/PathParamFilter.cs
|
||||
- PlexAPI/Models/Requests/Libtype.cs
|
||||
- PlexAPI/Models/Requests/IncludeCollections.cs
|
||||
- PlexAPI/Models/Requests/IncludeExternalMedia.cs
|
||||
- PlexAPI/Models/Requests/GetWatchlistRequest.cs
|
||||
- PlexAPI/Models/Requests/Image.cs
|
||||
- PlexAPI/Models/Requests/Metadata.cs
|
||||
- PlexAPI/Models/Requests/GetWatchlistResponseBody.cs
|
||||
- PlexAPI/Models/Requests/GetWatchlistResponse.cs
|
||||
- PlexAPI/Models/Errors/Errors.cs
|
||||
- PlexAPI/Models/Errors/GetServerCapabilitiesResponseBody.cs
|
||||
- PlexAPI/Models/Errors/GetServerPreferencesErrors.cs
|
||||
@@ -444,12 +472,13 @@ generatedFiles:
|
||||
- PlexAPI/Models/Errors/GetAvailableClientsResponseBody.cs
|
||||
- PlexAPI/Models/Errors/GetDevicesErrors.cs
|
||||
- PlexAPI/Models/Errors/GetDevicesResponseBody.cs
|
||||
- PlexAPI/Models/Errors/GetServerIdentityErrors.cs
|
||||
- PlexAPI/Models/Errors/GetServerIdentityResponseBody.cs
|
||||
- PlexAPI/Models/Errors/GetMyPlexAccountErrors.cs
|
||||
- PlexAPI/Models/Errors/GetMyPlexAccountResponseBody.cs
|
||||
- PlexAPI/Models/Errors/GetResizedPhotoErrors.cs
|
||||
- PlexAPI/Models/Errors/GetResizedPhotoResponseBody.cs
|
||||
- PlexAPI/Models/Errors/GetMediaProvidersErrors.cs
|
||||
- PlexAPI/Models/Errors/GetMediaProvidersResponseBody.cs
|
||||
- PlexAPI/Models/Errors/GetServerListErrors.cs
|
||||
- PlexAPI/Models/Errors/GetServerListResponseBody.cs
|
||||
- PlexAPI/Models/Errors/MarkPlayedErrors.cs
|
||||
@@ -458,6 +487,10 @@ generatedFiles:
|
||||
- PlexAPI/Models/Errors/MarkUnplayedResponseBody.cs
|
||||
- PlexAPI/Models/Errors/UpdatePlayProgressErrors.cs
|
||||
- PlexAPI/Models/Errors/UpdatePlayProgressResponseBody.cs
|
||||
- PlexAPI/Models/Errors/GetBannerImageErrors.cs
|
||||
- PlexAPI/Models/Errors/GetBannerImageResponseBody.cs
|
||||
- PlexAPI/Models/Errors/GetThumbImageErrors.cs
|
||||
- PlexAPI/Models/Errors/GetThumbImageResponseBody.cs
|
||||
- PlexAPI/Models/Errors/GetTimelineErrors.cs
|
||||
- PlexAPI/Models/Errors/GetTimelineResponseBody.cs
|
||||
- PlexAPI/Models/Errors/StartUniversalTranscodeErrors.cs
|
||||
@@ -484,14 +517,14 @@ generatedFiles:
|
||||
- PlexAPI/Models/Errors/GetGeoDataResponseBody.cs
|
||||
- PlexAPI/Models/Errors/GetHomeDataErrors.cs
|
||||
- PlexAPI/Models/Errors/GetHomeDataResponseBody.cs
|
||||
- PlexAPI/Models/Errors/GetResourcesErrors.cs
|
||||
- PlexAPI/Models/Errors/GetResourcesResponseBody.cs
|
||||
- PlexAPI/Models/Errors/GetServerResourcesErrors.cs
|
||||
- PlexAPI/Models/Errors/GetServerResourcesResponseBody.cs
|
||||
- PlexAPI/Models/Errors/GetPinErrors.cs
|
||||
- PlexAPI/Models/Errors/GetPinResponseBody.cs
|
||||
- PlexAPI/Models/Errors/GetTokenByPinIdPlexErrors.cs
|
||||
- PlexAPI/Models/Errors/GetTokenByPinIdPlexResponseBody.cs
|
||||
- PlexAPI/Models/Errors/GetTokenByPinIdErrors.cs
|
||||
- PlexAPI/Models/Errors/GetTokenByPinIdResponseBody.cs
|
||||
- PlexAPI/Models/Errors/GetUserDetailsErrors.cs
|
||||
- PlexAPI/Models/Errors/GetUserDetailsResponseBody.cs
|
||||
- PlexAPI/Models/Errors/GetGlobalHubsErrors.cs
|
||||
- PlexAPI/Models/Errors/GetGlobalHubsResponseBody.cs
|
||||
- PlexAPI/Models/Errors/GetLibraryHubsErrors.cs
|
||||
@@ -506,24 +539,28 @@ generatedFiles:
|
||||
- PlexAPI/Models/Errors/GetFileHashResponseBody.cs
|
||||
- PlexAPI/Models/Errors/GetRecentlyAddedErrors.cs
|
||||
- PlexAPI/Models/Errors/GetRecentlyAddedResponseBody.cs
|
||||
- PlexAPI/Models/Errors/GetLibrariesErrors.cs
|
||||
- PlexAPI/Models/Errors/GetLibrariesResponseBody.cs
|
||||
- PlexAPI/Models/Errors/GetLibraryErrors.cs
|
||||
- PlexAPI/Models/Errors/GetLibraryResponseBody.cs
|
||||
- PlexAPI/Models/Errors/GetAllLibrariesErrors.cs
|
||||
- PlexAPI/Models/Errors/GetAllLibrariesResponseBody.cs
|
||||
- PlexAPI/Models/Errors/GetLibraryDetailsErrors.cs
|
||||
- PlexAPI/Models/Errors/GetLibraryDetailsResponseBody.cs
|
||||
- PlexAPI/Models/Errors/DeleteLibraryErrors.cs
|
||||
- PlexAPI/Models/Errors/DeleteLibraryResponseBody.cs
|
||||
- PlexAPI/Models/Errors/GetLibraryItemsErrors.cs
|
||||
- PlexAPI/Models/Errors/GetLibraryItemsResponseBody.cs
|
||||
- PlexAPI/Models/Errors/RefreshLibraryErrors.cs
|
||||
- PlexAPI/Models/Errors/RefreshLibraryResponseBody.cs
|
||||
- PlexAPI/Models/Errors/SearchLibraryErrors.cs
|
||||
- PlexAPI/Models/Errors/SearchLibraryResponseBody.cs
|
||||
- PlexAPI/Models/Errors/GetMetadataErrors.cs
|
||||
- PlexAPI/Models/Errors/GetMetadataResponseBody.cs
|
||||
- PlexAPI/Models/Errors/GetRefreshLibraryMetadataErrors.cs
|
||||
- PlexAPI/Models/Errors/GetRefreshLibraryMetadataResponseBody.cs
|
||||
- PlexAPI/Models/Errors/GetSearchLibraryErrors.cs
|
||||
- PlexAPI/Models/Errors/GetSearchLibraryResponseBody.cs
|
||||
- PlexAPI/Models/Errors/GetMetaDataByRatingKeyErrors.cs
|
||||
- PlexAPI/Models/Errors/GetMetaDataByRatingKeyResponseBody.cs
|
||||
- PlexAPI/Models/Errors/GetMetadataChildrenErrors.cs
|
||||
- PlexAPI/Models/Errors/GetMetadataChildrenResponseBody.cs
|
||||
- PlexAPI/Models/Errors/GetTopWatchedContentErrors.cs
|
||||
- PlexAPI/Models/Errors/GetTopWatchedContentResponseBody.cs
|
||||
- PlexAPI/Models/Errors/GetOnDeckErrors.cs
|
||||
- PlexAPI/Models/Errors/GetOnDeckResponseBody.cs
|
||||
- PlexAPI/Models/Errors/GetWatchListErrors.cs
|
||||
- PlexAPI/Models/Errors/GetWatchListResponseBody.cs
|
||||
- PlexAPI/Models/Errors/LogLineErrors.cs
|
||||
- PlexAPI/Models/Errors/LogLineResponseBody.cs
|
||||
- PlexAPI/Models/Errors/LogMultiLineErrors.cs
|
||||
@@ -552,6 +589,10 @@ generatedFiles:
|
||||
- PlexAPI/Models/Errors/GetTransientTokenResponseBody.cs
|
||||
- PlexAPI/Models/Errors/GetSourceConnectionInformationErrors.cs
|
||||
- PlexAPI/Models/Errors/GetSourceConnectionInformationResponseBody.cs
|
||||
- PlexAPI/Models/Errors/GetUserDetailsErrors.cs
|
||||
- PlexAPI/Models/Errors/GetUserDetailsResponseBody.cs
|
||||
- PlexAPI/Models/Errors/PostUsersSignInDataErrors.cs
|
||||
- PlexAPI/Models/Errors/PostUsersSignInDataResponseBody.cs
|
||||
- PlexAPI/Models/Errors/GetStatisticsErrors.cs
|
||||
- PlexAPI/Models/Errors/GetStatisticsResponseBody.cs
|
||||
- PlexAPI/Models/Errors/GetResourcesStatisticsErrors.cs
|
||||
@@ -572,10 +613,6 @@ generatedFiles:
|
||||
- PlexAPI/Models/Errors/CheckForUpdatesResponseBody.cs
|
||||
- PlexAPI/Models/Errors/ApplyUpdatesErrors.cs
|
||||
- PlexAPI/Models/Errors/ApplyUpdatesResponseBody.cs
|
||||
- PlexAPI/Models/Errors/PostUsersSigninDataErrors.cs
|
||||
- PlexAPI/Models/Errors/PostUsersSigninDataResponseBody.cs
|
||||
- PlexAPI/Models/Errors/GetWatchlistErrors.cs
|
||||
- PlexAPI/Models/Errors/GetWatchlistResponseBody.cs
|
||||
- PlexAPI/Models/Components/Security.cs
|
||||
- docs/Models/Requests/Directory.md
|
||||
- docs/Models/Requests/MediaContainer.md
|
||||
@@ -603,6 +640,14 @@ generatedFiles:
|
||||
- docs/Models/Requests/Upscale.md
|
||||
- docs/Models/Requests/GetResizedPhotoRequest.md
|
||||
- docs/Models/Requests/GetResizedPhotoResponse.md
|
||||
- docs/Models/Requests/GetMediaProvidersRequest.md
|
||||
- docs/Models/Requests/Pivot.md
|
||||
- docs/Models/Requests/GetMediaProvidersDirectory.md
|
||||
- docs/Models/Requests/Feature.md
|
||||
- docs/Models/Requests/MediaProvider.md
|
||||
- docs/Models/Requests/GetMediaProvidersMediaContainer.md
|
||||
- docs/Models/Requests/GetMediaProvidersResponseBody.md
|
||||
- docs/Models/Requests/GetMediaProvidersResponse.md
|
||||
- docs/Models/Requests/GetServerListServer.md
|
||||
- docs/Models/Requests/GetServerListMediaContainer.md
|
||||
- docs/Models/Requests/GetServerListResponseBody.md
|
||||
@@ -613,6 +658,10 @@ generatedFiles:
|
||||
- docs/Models/Requests/MarkUnplayedResponse.md
|
||||
- docs/Models/Requests/UpdatePlayProgressRequest.md
|
||||
- docs/Models/Requests/UpdatePlayProgressResponse.md
|
||||
- docs/Models/Requests/GetBannerImageRequest.md
|
||||
- docs/Models/Requests/GetBannerImageResponse.md
|
||||
- docs/Models/Requests/GetThumbImageRequest.md
|
||||
- docs/Models/Requests/GetThumbImageResponse.md
|
||||
- docs/Models/Requests/State.md
|
||||
- docs/Models/Requests/GetTimelineRequest.md
|
||||
- docs/Models/Requests/GetTimelineResponse.md
|
||||
@@ -651,10 +700,10 @@ generatedFiles:
|
||||
- docs/Models/Requests/IncludeHttps.md
|
||||
- docs/Models/Requests/IncludeRelay.md
|
||||
- docs/Models/Requests/IncludeIPv6.md
|
||||
- docs/Models/Requests/GetResourcesRequest.md
|
||||
- docs/Models/Requests/GetServerResourcesRequest.md
|
||||
- docs/Models/Requests/Connections.md
|
||||
- docs/Models/Requests/PlexDevice.md
|
||||
- docs/Models/Requests/GetResourcesResponse.md
|
||||
- docs/Models/Requests/GetServerResourcesResponse.md
|
||||
- docs/Models/Requests/GetPinRequest.md
|
||||
- docs/Models/Requests/GeoData.md
|
||||
- docs/Models/Requests/GetPinAuthPinContainer.md
|
||||
@@ -663,18 +712,6 @@ generatedFiles:
|
||||
- docs/Models/Requests/GetTokenByPinIdGeoData.md
|
||||
- docs/Models/Requests/GetTokenByPinIdAuthPinContainer.md
|
||||
- docs/Models/Requests/GetTokenByPinIdResponse.md
|
||||
- docs/Models/Requests/MailingListStatus.md
|
||||
- docs/Models/Requests/UserProfile.md
|
||||
- docs/Models/Requests/GetUserDetailsStatus.md
|
||||
- docs/Models/Requests/Services.md
|
||||
- docs/Models/Requests/Features.md
|
||||
- docs/Models/Requests/GetUserDetailsPlexStatus.md
|
||||
- docs/Models/Requests/Subscription.md
|
||||
- docs/Models/Requests/GetUserDetailsFeatures.md
|
||||
- docs/Models/Requests/GetUserDetailsPlexResponseStatus.md
|
||||
- docs/Models/Requests/GetUserDetailsSubscription.md
|
||||
- docs/Models/Requests/GetUserDetailsUserPlexAccount.md
|
||||
- docs/Models/Requests/GetUserDetailsResponse.md
|
||||
- docs/Models/Requests/OnlyTransient.md
|
||||
- docs/Models/Requests/GetGlobalHubsRequest.md
|
||||
- docs/Models/Requests/GetGlobalHubsMetadata.md
|
||||
@@ -715,6 +752,7 @@ generatedFiles:
|
||||
- docs/Models/Requests/GetSearchResultsResponse.md
|
||||
- docs/Models/Requests/GetFileHashRequest.md
|
||||
- docs/Models/Requests/GetFileHashResponse.md
|
||||
- docs/Models/Requests/GetRecentlyAddedRequest.md
|
||||
- docs/Models/Requests/Part.md
|
||||
- docs/Models/Requests/Media.md
|
||||
- docs/Models/Requests/Genre.md
|
||||
@@ -727,25 +765,28 @@ generatedFiles:
|
||||
- docs/Models/Requests/GetRecentlyAddedResponseBody.md
|
||||
- docs/Models/Requests/GetRecentlyAddedResponse.md
|
||||
- docs/Models/Requests/Location.md
|
||||
- docs/Models/Requests/GetLibrariesDirectory.md
|
||||
- docs/Models/Requests/GetLibrariesMediaContainer.md
|
||||
- docs/Models/Requests/GetLibrariesResponseBody.md
|
||||
- docs/Models/Requests/GetLibrariesResponse.md
|
||||
- docs/Models/Requests/GetAllLibrariesDirectory.md
|
||||
- docs/Models/Requests/GetAllLibrariesMediaContainer.md
|
||||
- docs/Models/Requests/GetAllLibrariesResponseBody.md
|
||||
- docs/Models/Requests/GetAllLibrariesResponse.md
|
||||
- docs/Models/Requests/IncludeDetails.md
|
||||
- docs/Models/Requests/GetLibraryRequest.md
|
||||
- docs/Models/Requests/GetLibraryDirectory.md
|
||||
- docs/Models/Requests/GetLibraryFilter.md
|
||||
- docs/Models/Requests/GetLibraryDetailsRequest.md
|
||||
- docs/Models/Requests/GetLibraryDetailsDirectory.md
|
||||
- docs/Models/Requests/GetLibraryDetailsFilter.md
|
||||
- docs/Models/Requests/Sort.md
|
||||
- docs/Models/Requests/Field.md
|
||||
- docs/Models/Requests/GetLibraryType.md
|
||||
- docs/Models/Requests/GetLibraryDetailsType.md
|
||||
- docs/Models/Requests/Operator.md
|
||||
- docs/Models/Requests/FieldType.md
|
||||
- docs/Models/Requests/GetLibraryMediaContainer.md
|
||||
- docs/Models/Requests/GetLibraryResponseBody.md
|
||||
- docs/Models/Requests/GetLibraryResponse.md
|
||||
- docs/Models/Requests/GetLibraryDetailsMediaContainer.md
|
||||
- docs/Models/Requests/GetLibraryDetailsResponseBody.md
|
||||
- docs/Models/Requests/GetLibraryDetailsResponse.md
|
||||
- docs/Models/Requests/DeleteLibraryRequest.md
|
||||
- docs/Models/Requests/DeleteLibraryResponse.md
|
||||
- docs/Models/Requests/Tag.md
|
||||
- docs/Models/Requests/IncludeGuids.md
|
||||
- docs/Models/Requests/IncludeMeta.md
|
||||
- docs/Models/Requests/Type.md
|
||||
- docs/Models/Requests/GetLibraryItemsRequest.md
|
||||
- docs/Models/Requests/LibrarySectionID.md
|
||||
- docs/Models/Requests/GetLibraryItemsPart.md
|
||||
@@ -759,36 +800,38 @@ generatedFiles:
|
||||
- docs/Models/Requests/GetLibraryItemsMediaContainer.md
|
||||
- docs/Models/Requests/GetLibraryItemsResponseBody.md
|
||||
- docs/Models/Requests/GetLibraryItemsResponse.md
|
||||
- docs/Models/Requests/RefreshLibraryRequest.md
|
||||
- docs/Models/Requests/RefreshLibraryResponse.md
|
||||
- docs/Models/Requests/Type.md
|
||||
- docs/Models/Requests/SearchLibraryRequest.md
|
||||
- docs/Models/Requests/SearchLibraryMetadata.md
|
||||
- docs/Models/Requests/SearchLibraryMediaContainer.md
|
||||
- docs/Models/Requests/SearchLibraryResponseBody.md
|
||||
- docs/Models/Requests/SearchLibraryResponse.md
|
||||
- docs/Models/Requests/GetMetadataRequest.md
|
||||
- docs/Models/Requests/Force.md
|
||||
- docs/Models/Requests/GetRefreshLibraryMetadataRequest.md
|
||||
- docs/Models/Requests/GetRefreshLibraryMetadataResponse.md
|
||||
- docs/Models/Requests/QueryParamType.md
|
||||
- docs/Models/Requests/GetSearchLibraryRequest.md
|
||||
- docs/Models/Requests/GetSearchLibraryMetadata.md
|
||||
- docs/Models/Requests/GetSearchLibraryMediaContainer.md
|
||||
- docs/Models/Requests/GetSearchLibraryResponseBody.md
|
||||
- docs/Models/Requests/GetSearchLibraryResponse.md
|
||||
- docs/Models/Requests/GetMetaDataByRatingKeyRequest.md
|
||||
- docs/Models/Requests/Stream.md
|
||||
- docs/Models/Requests/GetMetadataPart.md
|
||||
- docs/Models/Requests/GetMetadataMedia.md
|
||||
- docs/Models/Requests/GetMetadataGenre.md
|
||||
- docs/Models/Requests/GetMetadataCountry.md
|
||||
- docs/Models/Requests/GetMetaDataByRatingKeyPart.md
|
||||
- docs/Models/Requests/GetMetaDataByRatingKeyMedia.md
|
||||
- docs/Models/Requests/GetMetaDataByRatingKeyGenre.md
|
||||
- docs/Models/Requests/GetMetaDataByRatingKeyCountry.md
|
||||
- docs/Models/Requests/Guids.md
|
||||
- docs/Models/Requests/Ratings.md
|
||||
- docs/Models/Requests/GetMetadataDirector.md
|
||||
- docs/Models/Requests/GetMetadataWriter.md
|
||||
- docs/Models/Requests/GetMetadataRole.md
|
||||
- docs/Models/Requests/GetMetaDataByRatingKeyDirector.md
|
||||
- docs/Models/Requests/GetMetaDataByRatingKeyWriter.md
|
||||
- docs/Models/Requests/GetMetaDataByRatingKeyRole.md
|
||||
- docs/Models/Requests/Producer.md
|
||||
- docs/Models/Requests/GetMetadataMetadata.md
|
||||
- docs/Models/Requests/GetMetadataMediaContainer.md
|
||||
- docs/Models/Requests/GetMetadataResponseBody.md
|
||||
- docs/Models/Requests/GetMetadataResponse.md
|
||||
- docs/Models/Requests/GetMetaDataByRatingKeyMetadata.md
|
||||
- docs/Models/Requests/GetMetaDataByRatingKeyMediaContainer.md
|
||||
- docs/Models/Requests/GetMetaDataByRatingKeyResponseBody.md
|
||||
- docs/Models/Requests/GetMetaDataByRatingKeyResponse.md
|
||||
- docs/Models/Requests/GetMetadataChildrenRequest.md
|
||||
- docs/Models/Requests/GetMetadataChildrenDirectory.md
|
||||
- docs/Models/Requests/GetMetadataChildrenMetadata.md
|
||||
- docs/Models/Requests/GetMetadataChildrenMediaContainer.md
|
||||
- docs/Models/Requests/GetMetadataChildrenResponseBody.md
|
||||
- docs/Models/Requests/GetMetadataChildrenResponse.md
|
||||
- docs/Models/Requests/GetTopWatchedContentQueryParamType.md
|
||||
- docs/Models/Requests/GetTopWatchedContentRequest.md
|
||||
- docs/Models/Requests/GetTopWatchedContentGenre.md
|
||||
- docs/Models/Requests/GetTopWatchedContentCountry.md
|
||||
@@ -807,12 +850,21 @@ generatedFiles:
|
||||
- docs/Models/Requests/GetOnDeckMediaContainer.md
|
||||
- docs/Models/Requests/GetOnDeckResponseBody.md
|
||||
- docs/Models/Requests/GetOnDeckResponse.md
|
||||
- docs/Models/Requests/Filter.md
|
||||
- docs/Models/Requests/Libtype.md
|
||||
- docs/Models/Requests/IncludeCollections.md
|
||||
- docs/Models/Requests/IncludeExternalMedia.md
|
||||
- docs/Models/Requests/GetWatchListRequest.md
|
||||
- docs/Models/Requests/Image.md
|
||||
- docs/Models/Requests/Metadata.md
|
||||
- docs/Models/Requests/GetWatchListResponseBody.md
|
||||
- docs/Models/Requests/GetWatchListResponse.md
|
||||
- docs/Models/Requests/Level.md
|
||||
- docs/Models/Requests/LogLineRequest.md
|
||||
- docs/Models/Requests/LogLineResponse.md
|
||||
- docs/Models/Requests/LogMultiLineResponse.md
|
||||
- docs/Models/Requests/EnablePaperTrailResponse.md
|
||||
- docs/Models/Requests/QueryParamType.md
|
||||
- docs/Models/Requests/CreatePlaylistQueryParamType.md
|
||||
- docs/Models/Requests/Smart.md
|
||||
- docs/Models/Requests/CreatePlaylistRequest.md
|
||||
- docs/Models/Requests/CreatePlaylistMetadata.md
|
||||
@@ -835,6 +887,7 @@ generatedFiles:
|
||||
- docs/Models/Requests/DeletePlaylistResponse.md
|
||||
- docs/Models/Requests/UpdatePlaylistRequest.md
|
||||
- docs/Models/Requests/UpdatePlaylistResponse.md
|
||||
- docs/Models/Requests/GetPlaylistContentsQueryParamType.md
|
||||
- docs/Models/Requests/GetPlaylistContentsRequest.md
|
||||
- docs/Models/Requests/GetPlaylistContentsPart.md
|
||||
- docs/Models/Requests/GetPlaylistContentsMedia.md
|
||||
@@ -854,7 +907,7 @@ generatedFiles:
|
||||
- docs/Models/Requests/AddPlaylistContentsMediaContainer.md
|
||||
- docs/Models/Requests/AddPlaylistContentsResponseBody.md
|
||||
- docs/Models/Requests/AddPlaylistContentsResponse.md
|
||||
- docs/Models/Requests/Force.md
|
||||
- docs/Models/Requests/QueryParamForce.md
|
||||
- docs/Models/Requests/UploadPlaylistRequest.md
|
||||
- docs/Models/Requests/UploadPlaylistResponse.md
|
||||
- docs/Models/Requests/GetTransientTokenQueryParamType.md
|
||||
@@ -863,6 +916,48 @@ generatedFiles:
|
||||
- docs/Models/Requests/GetTransientTokenResponse.md
|
||||
- docs/Models/Requests/GetSourceConnectionInformationRequest.md
|
||||
- docs/Models/Requests/GetSourceConnectionInformationResponse.md
|
||||
- docs/Models/Requests/GetUserDetailsRequest.md
|
||||
- docs/Models/Requests/MailingListStatus.md
|
||||
- docs/Models/Requests/AutoSelectSubtitle.md
|
||||
- docs/Models/Requests/DefaultSubtitleAccessibility.md
|
||||
- docs/Models/Requests/DefaultSubtitleForced.md
|
||||
- docs/Models/Requests/WatchedIndicator.md
|
||||
- docs/Models/Requests/MediaReviewsVisibility.md
|
||||
- docs/Models/Requests/UserProfile.md
|
||||
- docs/Models/Requests/GetUserDetailsStatus.md
|
||||
- docs/Models/Requests/Services.md
|
||||
- docs/Models/Requests/Features.md
|
||||
- docs/Models/Requests/GetUserDetailsAuthenticationStatus.md
|
||||
- docs/Models/Requests/Subscription.md
|
||||
- docs/Models/Requests/GetUserDetailsFeatures.md
|
||||
- docs/Models/Requests/GetUserDetailsAuthenticationResponseStatus.md
|
||||
- docs/Models/Requests/GetUserDetailsSubscription.md
|
||||
- docs/Models/Requests/GetUserDetailsUserPlexAccount.md
|
||||
- docs/Models/Requests/GetUserDetailsResponse.md
|
||||
- docs/Models/Requests/PostUsersSignInDataRequestBody.md
|
||||
- docs/Models/Requests/PostUsersSignInDataRequest.md
|
||||
- docs/Models/Requests/PostUsersSignInDataMailingListStatus.md
|
||||
- docs/Models/Requests/PostUsersSignInDataAutoSelectSubtitle.md
|
||||
- docs/Models/Requests/PostUsersSignInDataDefaultSubtitleAccessibility.md
|
||||
- docs/Models/Requests/PostUsersSignInDataDefaultSubtitleForced.md
|
||||
- docs/Models/Requests/PostUsersSignInDataWatchedIndicator.md
|
||||
- docs/Models/Requests/PostUsersSignInDataMediaReviewsVisibility.md
|
||||
- docs/Models/Requests/PostUsersSignInDataUserProfile.md
|
||||
- docs/Models/Requests/PostUsersSignInDataStatus.md
|
||||
- docs/Models/Requests/PostUsersSignInDataServices.md
|
||||
- docs/Models/Requests/PostUsersSignInDataFeatures.md
|
||||
- docs/Models/Requests/PostUsersSignInDataAuthenticationStatus.md
|
||||
- docs/Models/Requests/PostUsersSignInDataSubscription.md
|
||||
- docs/Models/Requests/PostUsersSignInDataAuthenticationFeatures.md
|
||||
- docs/Models/Requests/PostUsersSignInDataAuthenticationResponseStatus.md
|
||||
- docs/Models/Requests/PostUsersSignInDataAuthenticationSubscription.md
|
||||
- docs/Models/Requests/PostUsersSignInDataState.md
|
||||
- docs/Models/Requests/InternalPaymentMethod.md
|
||||
- docs/Models/Requests/Billing.md
|
||||
- docs/Models/Requests/PastSubscription.md
|
||||
- docs/Models/Requests/Trials.md
|
||||
- docs/Models/Requests/PostUsersSignInDataUserPlexAccount.md
|
||||
- docs/Models/Requests/PostUsersSignInDataResponse.md
|
||||
- docs/Models/Requests/GetStatisticsRequest.md
|
||||
- docs/Models/Requests/GetStatisticsDevice.md
|
||||
- docs/Models/Requests/Account.md
|
||||
@@ -892,7 +987,7 @@ generatedFiles:
|
||||
- docs/Models/Requests/GetSessionsMediaContainer.md
|
||||
- docs/Models/Requests/GetSessionsResponseBody.md
|
||||
- docs/Models/Requests/GetSessionsResponse.md
|
||||
- docs/Models/Requests/Filter.md
|
||||
- docs/Models/Requests/QueryParamFilter.md
|
||||
- docs/Models/Requests/GetSessionHistoryRequest.md
|
||||
- docs/Models/Requests/GetSessionHistoryMetadata.md
|
||||
- docs/Models/Requests/GetSessionHistoryMediaContainer.md
|
||||
@@ -915,34 +1010,6 @@ generatedFiles:
|
||||
- docs/Models/Requests/Skip.md
|
||||
- docs/Models/Requests/ApplyUpdatesRequest.md
|
||||
- docs/Models/Requests/ApplyUpdatesResponse.md
|
||||
- docs/Models/Requests/PostUsersSigninDataRequestBody.md
|
||||
- docs/Models/Requests/PostUsersSigninDataRequest.md
|
||||
- docs/Models/Requests/PostUsersSigninDataMailingListStatus.md
|
||||
- docs/Models/Requests/PostUsersSigninDataUserProfile.md
|
||||
- docs/Models/Requests/PostUsersSigninDataStatus.md
|
||||
- docs/Models/Requests/PostUsersSigninDataServices.md
|
||||
- docs/Models/Requests/PostUsersSigninDataFeatures.md
|
||||
- docs/Models/Requests/PostUsersSigninDataUserStatus.md
|
||||
- docs/Models/Requests/PostUsersSigninDataSubscription.md
|
||||
- docs/Models/Requests/PostUsersSigninDataUserFeatures.md
|
||||
- docs/Models/Requests/PostUsersSigninDataUserResponseStatus.md
|
||||
- docs/Models/Requests/PostUsersSigninDataUserSubscription.md
|
||||
- docs/Models/Requests/PostUsersSigninDataState.md
|
||||
- docs/Models/Requests/InternalPaymentMethod.md
|
||||
- docs/Models/Requests/Billing.md
|
||||
- docs/Models/Requests/PastSubscription.md
|
||||
- docs/Models/Requests/Trials.md
|
||||
- docs/Models/Requests/PostUsersSigninDataUserPlexAccount.md
|
||||
- docs/Models/Requests/PostUsersSigninDataResponse.md
|
||||
- docs/Models/Requests/PathParamFilter.md
|
||||
- docs/Models/Requests/Libtype.md
|
||||
- docs/Models/Requests/IncludeCollections.md
|
||||
- docs/Models/Requests/IncludeExternalMedia.md
|
||||
- docs/Models/Requests/GetWatchlistRequest.md
|
||||
- docs/Models/Requests/Image.md
|
||||
- docs/Models/Requests/Metadata.md
|
||||
- docs/Models/Requests/GetWatchlistResponseBody.md
|
||||
- docs/Models/Requests/GetWatchlistResponse.md
|
||||
- docs/Models/Errors/Errors.md
|
||||
- docs/Models/Errors/GetServerCapabilitiesResponseBody.md
|
||||
- docs/Models/Errors/GetServerPreferencesErrors.md
|
||||
@@ -951,12 +1018,13 @@ generatedFiles:
|
||||
- docs/Models/Errors/GetAvailableClientsResponseBody.md
|
||||
- docs/Models/Errors/GetDevicesErrors.md
|
||||
- docs/Models/Errors/GetDevicesResponseBody.md
|
||||
- docs/Models/Errors/GetServerIdentityErrors.md
|
||||
- docs/Models/Errors/GetServerIdentityResponseBody.md
|
||||
- docs/Models/Errors/GetMyPlexAccountErrors.md
|
||||
- docs/Models/Errors/GetMyPlexAccountResponseBody.md
|
||||
- docs/Models/Errors/GetResizedPhotoErrors.md
|
||||
- docs/Models/Errors/GetResizedPhotoResponseBody.md
|
||||
- docs/Models/Errors/GetMediaProvidersErrors.md
|
||||
- docs/Models/Errors/GetMediaProvidersResponseBody.md
|
||||
- docs/Models/Errors/GetServerListErrors.md
|
||||
- docs/Models/Errors/GetServerListResponseBody.md
|
||||
- docs/Models/Errors/MarkPlayedErrors.md
|
||||
@@ -965,6 +1033,10 @@ generatedFiles:
|
||||
- docs/Models/Errors/MarkUnplayedResponseBody.md
|
||||
- docs/Models/Errors/UpdatePlayProgressErrors.md
|
||||
- docs/Models/Errors/UpdatePlayProgressResponseBody.md
|
||||
- docs/Models/Errors/GetBannerImageErrors.md
|
||||
- docs/Models/Errors/GetBannerImageResponseBody.md
|
||||
- docs/Models/Errors/GetThumbImageErrors.md
|
||||
- docs/Models/Errors/GetThumbImageResponseBody.md
|
||||
- docs/Models/Errors/GetTimelineErrors.md
|
||||
- docs/Models/Errors/GetTimelineResponseBody.md
|
||||
- docs/Models/Errors/StartUniversalTranscodeErrors.md
|
||||
@@ -991,14 +1063,14 @@ generatedFiles:
|
||||
- docs/Models/Errors/GetGeoDataResponseBody.md
|
||||
- docs/Models/Errors/GetHomeDataErrors.md
|
||||
- docs/Models/Errors/GetHomeDataResponseBody.md
|
||||
- docs/Models/Errors/GetResourcesErrors.md
|
||||
- docs/Models/Errors/GetResourcesResponseBody.md
|
||||
- docs/Models/Errors/GetServerResourcesErrors.md
|
||||
- docs/Models/Errors/GetServerResourcesResponseBody.md
|
||||
- docs/Models/Errors/GetPinErrors.md
|
||||
- docs/Models/Errors/GetPinResponseBody.md
|
||||
- docs/Models/Errors/GetTokenByPinIdPlexErrors.md
|
||||
- docs/Models/Errors/GetTokenByPinIdPlexResponseBody.md
|
||||
- docs/Models/Errors/GetTokenByPinIdErrors.md
|
||||
- docs/Models/Errors/GetTokenByPinIdResponseBody.md
|
||||
- docs/Models/Errors/GetUserDetailsErrors.md
|
||||
- docs/Models/Errors/GetUserDetailsResponseBody.md
|
||||
- docs/Models/Errors/GetGlobalHubsErrors.md
|
||||
- docs/Models/Errors/GetGlobalHubsResponseBody.md
|
||||
- docs/Models/Errors/GetLibraryHubsErrors.md
|
||||
@@ -1013,24 +1085,28 @@ generatedFiles:
|
||||
- docs/Models/Errors/GetFileHashResponseBody.md
|
||||
- docs/Models/Errors/GetRecentlyAddedErrors.md
|
||||
- docs/Models/Errors/GetRecentlyAddedResponseBody.md
|
||||
- docs/Models/Errors/GetLibrariesErrors.md
|
||||
- docs/Models/Errors/GetLibrariesResponseBody.md
|
||||
- docs/Models/Errors/GetLibraryErrors.md
|
||||
- docs/Models/Errors/GetLibraryResponseBody.md
|
||||
- docs/Models/Errors/GetAllLibrariesErrors.md
|
||||
- docs/Models/Errors/GetAllLibrariesResponseBody.md
|
||||
- docs/Models/Errors/GetLibraryDetailsErrors.md
|
||||
- docs/Models/Errors/GetLibraryDetailsResponseBody.md
|
||||
- docs/Models/Errors/DeleteLibraryErrors.md
|
||||
- docs/Models/Errors/DeleteLibraryResponseBody.md
|
||||
- docs/Models/Errors/GetLibraryItemsErrors.md
|
||||
- docs/Models/Errors/GetLibraryItemsResponseBody.md
|
||||
- docs/Models/Errors/RefreshLibraryErrors.md
|
||||
- docs/Models/Errors/RefreshLibraryResponseBody.md
|
||||
- docs/Models/Errors/SearchLibraryErrors.md
|
||||
- docs/Models/Errors/SearchLibraryResponseBody.md
|
||||
- docs/Models/Errors/GetMetadataErrors.md
|
||||
- docs/Models/Errors/GetMetadataResponseBody.md
|
||||
- docs/Models/Errors/GetRefreshLibraryMetadataErrors.md
|
||||
- docs/Models/Errors/GetRefreshLibraryMetadataResponseBody.md
|
||||
- docs/Models/Errors/GetSearchLibraryErrors.md
|
||||
- docs/Models/Errors/GetSearchLibraryResponseBody.md
|
||||
- docs/Models/Errors/GetMetaDataByRatingKeyErrors.md
|
||||
- docs/Models/Errors/GetMetaDataByRatingKeyResponseBody.md
|
||||
- docs/Models/Errors/GetMetadataChildrenErrors.md
|
||||
- docs/Models/Errors/GetMetadataChildrenResponseBody.md
|
||||
- docs/Models/Errors/GetTopWatchedContentErrors.md
|
||||
- docs/Models/Errors/GetTopWatchedContentResponseBody.md
|
||||
- docs/Models/Errors/GetOnDeckErrors.md
|
||||
- docs/Models/Errors/GetOnDeckResponseBody.md
|
||||
- docs/Models/Errors/GetWatchListErrors.md
|
||||
- docs/Models/Errors/GetWatchListResponseBody.md
|
||||
- docs/Models/Errors/LogLineErrors.md
|
||||
- docs/Models/Errors/LogLineResponseBody.md
|
||||
- docs/Models/Errors/LogMultiLineErrors.md
|
||||
@@ -1059,6 +1135,10 @@ generatedFiles:
|
||||
- docs/Models/Errors/GetTransientTokenResponseBody.md
|
||||
- docs/Models/Errors/GetSourceConnectionInformationErrors.md
|
||||
- docs/Models/Errors/GetSourceConnectionInformationResponseBody.md
|
||||
- docs/Models/Errors/GetUserDetailsErrors.md
|
||||
- docs/Models/Errors/GetUserDetailsResponseBody.md
|
||||
- docs/Models/Errors/PostUsersSignInDataErrors.md
|
||||
- docs/Models/Errors/PostUsersSignInDataResponseBody.md
|
||||
- docs/Models/Errors/GetStatisticsErrors.md
|
||||
- docs/Models/Errors/GetStatisticsResponseBody.md
|
||||
- docs/Models/Errors/GetResourcesStatisticsErrors.md
|
||||
@@ -1079,10 +1159,6 @@ generatedFiles:
|
||||
- docs/Models/Errors/CheckForUpdatesResponseBody.md
|
||||
- docs/Models/Errors/ApplyUpdatesErrors.md
|
||||
- docs/Models/Errors/ApplyUpdatesResponseBody.md
|
||||
- docs/Models/Errors/PostUsersSigninDataErrors.md
|
||||
- docs/Models/Errors/PostUsersSigninDataResponseBody.md
|
||||
- docs/Models/Errors/GetWatchlistErrors.md
|
||||
- docs/Models/Errors/GetWatchlistResponseBody.md
|
||||
- docs/Models/Components/Security.md
|
||||
- docs/sdks/plexapi/README.md
|
||||
- docs/sdks/server/README.md
|
||||
@@ -1094,14 +1170,13 @@ generatedFiles:
|
||||
- docs/sdks/hubs/README.md
|
||||
- docs/sdks/search/README.md
|
||||
- docs/sdks/library/README.md
|
||||
- docs/sdks/watchlist/README.md
|
||||
- docs/sdks/log/README.md
|
||||
- docs/sdks/playlists/README.md
|
||||
- docs/sdks/authentication/README.md
|
||||
- docs/sdks/statistics/README.md
|
||||
- docs/sdks/sessions/README.md
|
||||
- docs/sdks/updater/README.md
|
||||
- docs/sdks/user/README.md
|
||||
- docs/sdks/watchlist/README.md
|
||||
- NUGET.md
|
||||
- USAGE.md
|
||||
- .gitattributes
|
||||
|
||||
@@ -12,7 +12,7 @@ generation:
|
||||
auth:
|
||||
oAuth2ClientCredentialsEnabled: true
|
||||
csharp:
|
||||
version: 0.4.0
|
||||
version: 0.5.0
|
||||
additionalDependencies: []
|
||||
author: LukeHagar
|
||||
clientServerStatusCodesAsErrors: true
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
speakeasyVersion: 1.321.0
|
||||
speakeasyVersion: 1.390.7
|
||||
sources:
|
||||
my-source:
|
||||
sourceNamespace: my-source
|
||||
sourceRevisionDigest: sha256:15b51e83587ffa99b9534e1343c332817af732e91a7a3317354e5e286abb559b
|
||||
sourceBlobDigest: sha256:dd6f90b552b01f3e1a76d15a9202d64ba0dcc4cb192794e85213096a7d64a9c4
|
||||
sourceRevisionDigest: sha256:b6aa1692c74a84d3ce118d305f77944189e0749c6f95a2c57bddb8c606ab8df6
|
||||
sourceBlobDigest: sha256:370cb4409748c4811372a81d94f1a84f60b538087c23f2cb24f72082bcc827f6
|
||||
tags:
|
||||
- latest
|
||||
- main
|
||||
@@ -11,8 +11,8 @@ targets:
|
||||
plexcsharp:
|
||||
source: my-source
|
||||
sourceNamespace: my-source
|
||||
sourceRevisionDigest: sha256:15b51e83587ffa99b9534e1343c332817af732e91a7a3317354e5e286abb559b
|
||||
sourceBlobDigest: sha256:dd6f90b552b01f3e1a76d15a9202d64ba0dcc4cb192794e85213096a7d64a9c4
|
||||
sourceRevisionDigest: sha256:b6aa1692c74a84d3ce118d305f77944189e0749c6f95a2c57bddb8c606ab8df6
|
||||
sourceBlobDigest: sha256:370cb4409748c4811372a81d94f1a84f60b538087c23f2cb24f72082bcc827f6
|
||||
outLocation: /github/workspace/repo
|
||||
workflow:
|
||||
workflowVersion: 1.0.0
|
||||
@@ -20,7 +20,7 @@ workflow:
|
||||
sources:
|
||||
my-source:
|
||||
inputs:
|
||||
- location: https://raw.githubusercontent.com/LukeHagar/plex-api-spec/main/plex-media-server-spec-dereferenced.yaml
|
||||
- location: https://raw.githubusercontent.com/LukeHagar/plex-api-spec/main/output/plex-media-server-spec-dereferenced.yaml
|
||||
registry:
|
||||
location: registry.speakeasyapi.dev/lukehagar/lukehagar/my-source
|
||||
targets:
|
||||
|
||||
@@ -3,7 +3,7 @@ speakeasyVersion: latest
|
||||
sources:
|
||||
my-source:
|
||||
inputs:
|
||||
- location: https://raw.githubusercontent.com/LukeHagar/plex-api-spec/main/plex-media-server-spec-dereferenced.yaml
|
||||
- location: https://raw.githubusercontent.com/LukeHagar/plex-api-spec/main/output/plex-media-server-spec-dereferenced.yaml
|
||||
registry:
|
||||
location: registry.speakeasyapi.dev/lukehagar/lukehagar/my-source
|
||||
targets:
|
||||
|
||||
63
NUGET.md
63
NUGET.md
@@ -12,7 +12,8 @@ using PlexAPI.Models.Components;
|
||||
|
||||
var sdk = new PlexAPISDK(
|
||||
accessToken: "<YOUR_API_KEY_HERE>",
|
||||
xPlexClientIdentifier: "Postman");
|
||||
xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40"
|
||||
);
|
||||
|
||||
var res = await sdk.Server.GetServerCapabilitiesAsync();
|
||||
|
||||
@@ -20,6 +21,53 @@ var res = await sdk.Server.GetServerCapabilitiesAsync();
|
||||
```
|
||||
<!-- End SDK Example Usage [usage] -->
|
||||
|
||||
<!-- Start Global Parameters [global-parameters] -->
|
||||
## Global Parameters
|
||||
|
||||
## Global Parameters
|
||||
|
||||
A parameter is configured globally. This parameter may be set on the SDK client instance itself during initialization. When configured as an option during SDK initialization, This global value will be used as the default on the operations that use it. When such operations are called, there is a place in each to override the global value, if needed.
|
||||
|
||||
For example, you can set `X-Plex-Client-Identifier` to `"gcgzw5rz2xovp84b4vha3a40"` at SDK initialization and then you do not have to pass the same value on calls to operations like `GetServerResources`. But if you want to do so you may, which will locally override the global setting. See the example code below for a demonstration.
|
||||
|
||||
|
||||
### Available Globals
|
||||
|
||||
The following global parameter is available.
|
||||
|
||||
| Name | Type | Required | Description |
|
||||
| ---- | ---- |:--------:| ----------- |
|
||||
| xPlexClientIdentifier | string | | The unique identifier for the client application
|
||||
This is used to track the client application and its usage
|
||||
(UUID, serial number, or other number unique per device)
|
||||
|
|
||||
|
||||
|
||||
### Example
|
||||
|
||||
```csharp
|
||||
using PlexAPI;
|
||||
using PlexAPI.Models.Requests;
|
||||
using PlexAPI.Models.Components;
|
||||
|
||||
var sdk = new PlexAPISDK(
|
||||
accessToken: "<YOUR_API_KEY_HERE>",
|
||||
xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40"
|
||||
);
|
||||
|
||||
GetServerResourcesRequest req = new GetServerResourcesRequest() {
|
||||
XPlexToken = "CV5xoxjTpFKUzBTShsaf",
|
||||
IncludeHttps = PlexAPI.Models.Requests.IncludeHttps.One,
|
||||
IncludeRelay = PlexAPI.Models.Requests.IncludeRelay.One,
|
||||
IncludeIPv6 = PlexAPI.Models.Requests.IncludeIPv6.One,
|
||||
};
|
||||
|
||||
var res = await sdk.Plex.GetServerResourcesAsync(req);
|
||||
|
||||
// handle response
|
||||
```
|
||||
<!-- End Global Parameters [global-parameters] -->
|
||||
|
||||
<!-- Start Error Handling [errors] -->
|
||||
## Error Handling
|
||||
|
||||
@@ -40,11 +88,13 @@ using PlexAPI.Models.Errors;
|
||||
|
||||
var sdk = new PlexAPISDK(
|
||||
accessToken: "<YOUR_API_KEY_HERE>",
|
||||
xPlexClientIdentifier: "Postman");
|
||||
xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40"
|
||||
);
|
||||
|
||||
try
|
||||
{
|
||||
var res = await sdk.Server.GetServerCapabilitiesAsync();
|
||||
|
||||
// handle response
|
||||
}
|
||||
catch (Exception ex)
|
||||
@@ -58,7 +108,6 @@ catch (Exception ex)
|
||||
// handle exception
|
||||
}
|
||||
}
|
||||
|
||||
```
|
||||
<!-- End Error Handling [errors] -->
|
||||
|
||||
@@ -71,7 +120,7 @@ You can override the default server globally by passing a server index to the `s
|
||||
|
||||
| # | Server | Variables |
|
||||
| - | ------ | --------- |
|
||||
| 0 | `{protocol}://{ip}:{port}` | `protocol` (default is `http`), `ip` (default is `10.10.10.47`), `port` (default is `32400`) |
|
||||
| 0 | `{protocol}://{ip}:{port}` | `protocol` (default is `https`), `ip` (default is `10.10.10.47`), `port` (default is `32400`) |
|
||||
|
||||
|
||||
|
||||
@@ -96,7 +145,8 @@ using PlexAPI.Models.Components;
|
||||
|
||||
var sdk = new PlexAPISDK(
|
||||
accessToken: "<YOUR_API_KEY_HERE>",
|
||||
xPlexClientIdentifier: "Postman");
|
||||
xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40"
|
||||
);
|
||||
|
||||
var res = await sdk.Plex.GetCompanionsDataAsync(serverUrl: "https://plex.tv/api/v2");
|
||||
|
||||
@@ -122,7 +172,8 @@ using PlexAPI.Models.Components;
|
||||
|
||||
var sdk = new PlexAPISDK(
|
||||
accessToken: "<YOUR_API_KEY_HERE>",
|
||||
xPlexClientIdentifier: "Postman");
|
||||
xPlexClientIdentifier: "gcgzw5rz2xovp84b4vha3a40"
|
||||
);
|
||||
|
||||
var res = await sdk.Server.GetServerCapabilitiesAsync();
|
||||
|
||||
|
||||
@@ -74,10 +74,10 @@ namespace PlexAPI
|
||||
{
|
||||
public SDKConfig SDKConfiguration { get; private set; }
|
||||
private const string _language = "csharp";
|
||||
private const string _sdkVersion = "0.4.0";
|
||||
private const string _sdkGenVersion = "2.404.2";
|
||||
private const string _sdkVersion = "0.5.0";
|
||||
private const string _sdkGenVersion = "2.409.8";
|
||||
private const string _openapiDocVersion = "0.0.3";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.4.0 2.404.2 0.0.3 PlexAPI";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.5.0 2.409.8 0.0.3 PlexAPI";
|
||||
private string _serverUrl = "";
|
||||
private ISpeakeasyHttpClient _client;
|
||||
private Func<PlexAPI.Models.Components.Security>? _securitySource;
|
||||
|
||||
@@ -52,6 +52,24 @@ namespace PlexAPI
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<GetSourceConnectionInformationResponse> GetSourceConnectionInformationAsync(string source);
|
||||
|
||||
/// <summary>
|
||||
/// Get User Data By Token
|
||||
///
|
||||
/// <remarks>
|
||||
/// Get the User data from the provided X-Plex-Token
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<GetUserDetailsResponse> GetUserDetailsAsync(string xPlexToken, string? serverUrl = null);
|
||||
|
||||
/// <summary>
|
||||
/// Get User SignIn Data
|
||||
///
|
||||
/// <remarks>
|
||||
/// Sign in user with username and password and return user data with Plex authentication token
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<PostUsersSignInDataResponse> PostUsersSignInDataAsync(string? xPlexClientIdentifier = null, PostUsersSignInDataRequestBody? requestBody = null, string? serverUrl = null);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -63,12 +81,24 @@ namespace PlexAPI
|
||||
/// </summary>
|
||||
public class Authentication: IAuthentication
|
||||
{
|
||||
/// <summary>
|
||||
/// List of server URLs available for the getUserDetails operation.
|
||||
/// </summary>
|
||||
public static readonly string[] GetUserDetailsServerList = {
|
||||
"https://plex.tv/api/v2",
|
||||
};
|
||||
/// <summary>
|
||||
/// List of server URLs available for the post-users-sign-in-data operation.
|
||||
/// </summary>
|
||||
public static readonly string[] PostUsersSignInDataServerList = {
|
||||
"https://plex.tv/api/v2",
|
||||
};
|
||||
public SDKConfig SDKConfiguration { get; private set; }
|
||||
private const string _language = "csharp";
|
||||
private const string _sdkVersion = "0.4.0";
|
||||
private const string _sdkGenVersion = "2.404.2";
|
||||
private const string _sdkVersion = "0.5.0";
|
||||
private const string _sdkGenVersion = "2.409.8";
|
||||
private const string _openapiDocVersion = "0.0.3";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.4.0 2.404.2 0.0.3 PlexAPI";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.5.0 2.409.8 0.0.3 PlexAPI";
|
||||
private string _serverUrl = "";
|
||||
private ISpeakeasyHttpClient _client;
|
||||
private Func<PlexAPI.Models.Components.Security>? _securitySource;
|
||||
@@ -251,5 +281,209 @@ namespace PlexAPI
|
||||
throw new SDKException("Unknown status code received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse);
|
||||
}
|
||||
}
|
||||
|
||||
public async Task<GetUserDetailsResponse> GetUserDetailsAsync(string xPlexToken, string? serverUrl = null)
|
||||
{
|
||||
var request = new GetUserDetailsRequest()
|
||||
{
|
||||
XPlexToken = xPlexToken,
|
||||
};
|
||||
string baseUrl = Utilities.TemplateUrl(GetUserDetailsServerList[0], new Dictionary<string, string>(){
|
||||
});
|
||||
if (serverUrl != null)
|
||||
{
|
||||
baseUrl = serverUrl;
|
||||
}
|
||||
var urlString = URLBuilder.Build(baseUrl, "/user", 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("getUserDetails", 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<GetUserDetailsUserPlexAccount>(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore);
|
||||
var response = new GetUserDetailsResponse()
|
||||
{
|
||||
StatusCode = responseStatusCode,
|
||||
ContentType = contentType,
|
||||
RawResponse = httpResponse
|
||||
};
|
||||
response.UserPlexAccount = obj;
|
||||
return response;
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new SDKException("Unknown content type received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse);
|
||||
}
|
||||
}
|
||||
else if(responseStatusCode == 400 || responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600)
|
||||
{
|
||||
throw new SDKException("API error occurred", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse);
|
||||
}
|
||||
else if(responseStatusCode == 401)
|
||||
{
|
||||
if(Utilities.IsContentTypeMatch("application/json", contentType))
|
||||
{
|
||||
var obj = ResponseBodyDeserializer.Deserialize<GetUserDetailsResponseBody>(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore);
|
||||
obj!.RawResponse = httpResponse;
|
||||
throw obj!;
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new SDKException("Unknown content type received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new SDKException("Unknown status code received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse);
|
||||
}
|
||||
}
|
||||
|
||||
public async Task<PostUsersSignInDataResponse> PostUsersSignInDataAsync(string? xPlexClientIdentifier = null, PostUsersSignInDataRequestBody? requestBody = null, string? serverUrl = null)
|
||||
{
|
||||
var request = new PostUsersSignInDataRequest()
|
||||
{
|
||||
XPlexClientIdentifier = xPlexClientIdentifier,
|
||||
RequestBody = requestBody,
|
||||
};
|
||||
request.XPlexClientIdentifier ??= SDKConfiguration.XPlexClientIdentifier;
|
||||
|
||||
string baseUrl = Utilities.TemplateUrl(PostUsersSignInDataServerList[0], new Dictionary<string, string>(){
|
||||
});
|
||||
if (serverUrl != null)
|
||||
{
|
||||
baseUrl = serverUrl;
|
||||
}
|
||||
var urlString = URLBuilder.Build(baseUrl, "/users/signin", request);
|
||||
|
||||
var httpRequest = new HttpRequestMessage(HttpMethod.Post, urlString);
|
||||
httpRequest.Headers.Add("user-agent", _userAgent);
|
||||
|
||||
var serializedBody = RequestBodySerializer.Serialize(request, "RequestBody", "form", false, true);
|
||||
if (serializedBody != null)
|
||||
{
|
||||
httpRequest.Content = serializedBody;
|
||||
}
|
||||
|
||||
var hookCtx = new HookContext("post-users-sign-in-data", null, null);
|
||||
|
||||
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 == 201)
|
||||
{
|
||||
if(Utilities.IsContentTypeMatch("application/json", contentType))
|
||||
{
|
||||
var obj = ResponseBodyDeserializer.Deserialize<PostUsersSignInDataUserPlexAccount>(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore);
|
||||
var response = new PostUsersSignInDataResponse()
|
||||
{
|
||||
StatusCode = responseStatusCode,
|
||||
ContentType = contentType,
|
||||
RawResponse = httpResponse
|
||||
};
|
||||
response.UserPlexAccount = obj;
|
||||
return response;
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new SDKException("Unknown content type received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse);
|
||||
}
|
||||
}
|
||||
else if(responseStatusCode == 400 || responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600)
|
||||
{
|
||||
throw new SDKException("API error occurred", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse);
|
||||
}
|
||||
else if(responseStatusCode == 401)
|
||||
{
|
||||
if(Utilities.IsContentTypeMatch("application/json", contentType))
|
||||
{
|
||||
var obj = ResponseBodyDeserializer.Deserialize<PostUsersSignInDataResponseBody>(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore);
|
||||
obj!.RawResponse = httpResponse;
|
||||
throw obj!;
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new SDKException("Unknown content type received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new SDKException("Unknown status code received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -101,10 +101,10 @@ namespace PlexAPI
|
||||
{
|
||||
public SDKConfig SDKConfiguration { get; private set; }
|
||||
private const string _language = "csharp";
|
||||
private const string _sdkVersion = "0.4.0";
|
||||
private const string _sdkGenVersion = "2.404.2";
|
||||
private const string _sdkVersion = "0.5.0";
|
||||
private const string _sdkGenVersion = "2.409.8";
|
||||
private const string _openapiDocVersion = "0.0.3";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.4.0 2.404.2 0.0.3 PlexAPI";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.5.0 2.409.8 0.0.3 PlexAPI";
|
||||
private string _serverUrl = "";
|
||||
private ISpeakeasyHttpClient _client;
|
||||
private Func<PlexAPI.Models.Components.Security>? _securitySource;
|
||||
|
||||
@@ -63,10 +63,10 @@ namespace PlexAPI
|
||||
{
|
||||
public SDKConfig SDKConfiguration { get; private set; }
|
||||
private const string _language = "csharp";
|
||||
private const string _sdkVersion = "0.4.0";
|
||||
private const string _sdkGenVersion = "2.404.2";
|
||||
private const string _sdkVersion = "0.5.0";
|
||||
private const string _sdkGenVersion = "2.409.8";
|
||||
private const string _openapiDocVersion = "0.0.3";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.4.0 2.404.2 0.0.3 PlexAPI";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.5.0 2.409.8 0.0.3 PlexAPI";
|
||||
private string _serverUrl = "";
|
||||
private ISpeakeasyHttpClient _client;
|
||||
private Func<PlexAPI.Models.Components.Security>? _securitySource;
|
||||
|
||||
@@ -49,7 +49,7 @@ namespace PlexAPI
|
||||
///
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<GetRecentlyAddedResponse> GetRecentlyAddedAsync();
|
||||
Task<GetRecentlyAddedResponse> GetRecentlyAddedAsync(int? xPlexContainerStart = null, int? xPlexContainerSize = null);
|
||||
|
||||
/// <summary>
|
||||
/// Get All Libraries
|
||||
@@ -64,7 +64,7 @@ namespace PlexAPI
|
||||
///
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<GetLibrariesResponse> GetLibrariesAsync();
|
||||
Task<GetAllLibrariesResponse> GetAllLibrariesAsync();
|
||||
|
||||
/// <summary>
|
||||
/// Get Library Details
|
||||
@@ -112,16 +112,16 @@ namespace PlexAPI
|
||||
///
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<GetLibraryResponse> GetLibraryAsync(double sectionId, IncludeDetails? includeDetails = null);
|
||||
Task<GetLibraryDetailsResponse> GetLibraryDetailsAsync(int sectionKey, IncludeDetails? includeDetails = null);
|
||||
|
||||
/// <summary>
|
||||
/// Delete Library Section
|
||||
///
|
||||
/// <remarks>
|
||||
/// Delate a library using a specific section
|
||||
/// Delete a library using a specific section id
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<DeleteLibraryResponse> DeleteLibraryAsync(double sectionId);
|
||||
Task<DeleteLibraryResponse> DeleteLibraryAsync(int sectionKey);
|
||||
|
||||
/// <summary>
|
||||
/// Get Library Items
|
||||
@@ -150,17 +150,17 @@ namespace PlexAPI
|
||||
///
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<GetLibraryItemsResponse> GetLibraryItemsAsync(object sectionId, Tag tag, long? includeGuids = null);
|
||||
Task<GetLibraryItemsResponse> GetLibraryItemsAsync(GetLibraryItemsRequest request);
|
||||
|
||||
/// <summary>
|
||||
/// Refresh Library
|
||||
/// Refresh Metadata Of The Library
|
||||
///
|
||||
/// <remarks>
|
||||
/// This endpoint Refreshes the library.<br/>
|
||||
/// This endpoint Refreshes all the Metadata of the library.<br/>
|
||||
///
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<RefreshLibraryResponse> RefreshLibraryAsync(double sectionId);
|
||||
Task<GetRefreshLibraryMetadataResponse> GetRefreshLibraryMetadataAsync(int sectionKey, Force? force = null);
|
||||
|
||||
/// <summary>
|
||||
/// Search Library
|
||||
@@ -187,17 +187,17 @@ namespace PlexAPI
|
||||
///
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<SearchLibraryResponse> SearchLibraryAsync(long sectionId, Type type);
|
||||
Task<GetSearchLibraryResponse> GetSearchLibraryAsync(int sectionKey, QueryParamType type);
|
||||
|
||||
/// <summary>
|
||||
/// Get Items Metadata
|
||||
/// Get Metadata by RatingKey
|
||||
///
|
||||
/// <remarks>
|
||||
/// This endpoint will return the metadata of a library item specified with the ratingKey.<br/>
|
||||
///
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<GetMetadataResponse> GetMetadataAsync(double ratingKey);
|
||||
Task<GetMetaDataByRatingKeyResponse> GetMetaDataByRatingKeyAsync(long ratingKey);
|
||||
|
||||
/// <summary>
|
||||
/// Get Items Children
|
||||
@@ -217,7 +217,7 @@ namespace PlexAPI
|
||||
///
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<GetTopWatchedContentResponse> GetTopWatchedContentAsync(long type, long? includeGuids = null);
|
||||
Task<GetTopWatchedContentResponse> GetTopWatchedContentAsync(GetTopWatchedContentQueryParamType type, long? includeGuids = null);
|
||||
|
||||
/// <summary>
|
||||
/// Get On Deck
|
||||
@@ -241,10 +241,10 @@ namespace PlexAPI
|
||||
{
|
||||
public SDKConfig SDKConfiguration { get; private set; }
|
||||
private const string _language = "csharp";
|
||||
private const string _sdkVersion = "0.4.0";
|
||||
private const string _sdkGenVersion = "2.404.2";
|
||||
private const string _sdkVersion = "0.5.0";
|
||||
private const string _sdkGenVersion = "2.409.8";
|
||||
private const string _openapiDocVersion = "0.0.3";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.4.0 2.404.2 0.0.3 PlexAPI";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.5.0 2.409.8 0.0.3 PlexAPI";
|
||||
private string _serverUrl = "";
|
||||
private ISpeakeasyHttpClient _client;
|
||||
private Func<PlexAPI.Models.Components.Security>? _securitySource;
|
||||
@@ -343,11 +343,15 @@ namespace PlexAPI
|
||||
}
|
||||
}
|
||||
|
||||
public async Task<GetRecentlyAddedResponse> GetRecentlyAddedAsync()
|
||||
public async Task<GetRecentlyAddedResponse> GetRecentlyAddedAsync(int? xPlexContainerStart = null, int? xPlexContainerSize = null)
|
||||
{
|
||||
var request = new GetRecentlyAddedRequest()
|
||||
{
|
||||
XPlexContainerStart = xPlexContainerStart,
|
||||
XPlexContainerSize = xPlexContainerSize,
|
||||
};
|
||||
string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl();
|
||||
|
||||
var urlString = baseUrl + "/library/recentlyAdded";
|
||||
var urlString = URLBuilder.Build(baseUrl, "/library/recentlyAdded", request);
|
||||
|
||||
var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString);
|
||||
httpRequest.Headers.Add("user-agent", _userAgent);
|
||||
@@ -435,7 +439,7 @@ namespace PlexAPI
|
||||
}
|
||||
}
|
||||
|
||||
public async Task<GetLibrariesResponse> GetLibrariesAsync()
|
||||
public async Task<GetAllLibrariesResponse> GetAllLibrariesAsync()
|
||||
{
|
||||
string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl();
|
||||
|
||||
@@ -449,7 +453,7 @@ namespace PlexAPI
|
||||
httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest);
|
||||
}
|
||||
|
||||
var hookCtx = new HookContext("getLibraries", null, _securitySource);
|
||||
var hookCtx = new HookContext("get-all-libraries", null, _securitySource);
|
||||
|
||||
httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest);
|
||||
|
||||
@@ -489,8 +493,8 @@ namespace PlexAPI
|
||||
{
|
||||
if(Utilities.IsContentTypeMatch("application/json", contentType))
|
||||
{
|
||||
var obj = ResponseBodyDeserializer.Deserialize<Models.Requests.GetLibrariesResponseBody>(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore);
|
||||
var response = new GetLibrariesResponse()
|
||||
var obj = ResponseBodyDeserializer.Deserialize<Models.Requests.GetAllLibrariesResponseBody>(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore);
|
||||
var response = new GetAllLibrariesResponse()
|
||||
{
|
||||
StatusCode = responseStatusCode,
|
||||
ContentType = contentType,
|
||||
@@ -512,7 +516,7 @@ namespace PlexAPI
|
||||
{
|
||||
if(Utilities.IsContentTypeMatch("application/json", contentType))
|
||||
{
|
||||
var obj = ResponseBodyDeserializer.Deserialize<Models.Errors.GetLibrariesResponseBody>(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore);
|
||||
var obj = ResponseBodyDeserializer.Deserialize<Models.Errors.GetAllLibrariesResponseBody>(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore);
|
||||
obj!.RawResponse = httpResponse;
|
||||
throw obj!;
|
||||
}
|
||||
@@ -527,15 +531,15 @@ namespace PlexAPI
|
||||
}
|
||||
}
|
||||
|
||||
public async Task<GetLibraryResponse> GetLibraryAsync(double sectionId, IncludeDetails? includeDetails = null)
|
||||
public async Task<GetLibraryDetailsResponse> GetLibraryDetailsAsync(int sectionKey, IncludeDetails? includeDetails = null)
|
||||
{
|
||||
var request = new GetLibraryRequest()
|
||||
var request = new GetLibraryDetailsRequest()
|
||||
{
|
||||
SectionId = sectionId,
|
||||
SectionKey = sectionKey,
|
||||
IncludeDetails = includeDetails,
|
||||
};
|
||||
string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl();
|
||||
var urlString = URLBuilder.Build(baseUrl, "/library/sections/{sectionId}", request);
|
||||
var urlString = URLBuilder.Build(baseUrl, "/library/sections/{sectionKey}", request);
|
||||
|
||||
var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString);
|
||||
httpRequest.Headers.Add("user-agent", _userAgent);
|
||||
@@ -545,7 +549,7 @@ namespace PlexAPI
|
||||
httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest);
|
||||
}
|
||||
|
||||
var hookCtx = new HookContext("getLibrary", null, _securitySource);
|
||||
var hookCtx = new HookContext("get-library-details", null, _securitySource);
|
||||
|
||||
httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest);
|
||||
|
||||
@@ -585,8 +589,8 @@ namespace PlexAPI
|
||||
{
|
||||
if(Utilities.IsContentTypeMatch("application/json", contentType))
|
||||
{
|
||||
var obj = ResponseBodyDeserializer.Deserialize<Models.Requests.GetLibraryResponseBody>(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore);
|
||||
var response = new GetLibraryResponse()
|
||||
var obj = ResponseBodyDeserializer.Deserialize<Models.Requests.GetLibraryDetailsResponseBody>(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore);
|
||||
var response = new GetLibraryDetailsResponse()
|
||||
{
|
||||
StatusCode = responseStatusCode,
|
||||
ContentType = contentType,
|
||||
@@ -608,7 +612,7 @@ namespace PlexAPI
|
||||
{
|
||||
if(Utilities.IsContentTypeMatch("application/json", contentType))
|
||||
{
|
||||
var obj = ResponseBodyDeserializer.Deserialize<Models.Errors.GetLibraryResponseBody>(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore);
|
||||
var obj = ResponseBodyDeserializer.Deserialize<Models.Errors.GetLibraryDetailsResponseBody>(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore);
|
||||
obj!.RawResponse = httpResponse;
|
||||
throw obj!;
|
||||
}
|
||||
@@ -623,14 +627,14 @@ namespace PlexAPI
|
||||
}
|
||||
}
|
||||
|
||||
public async Task<DeleteLibraryResponse> DeleteLibraryAsync(double sectionId)
|
||||
public async Task<DeleteLibraryResponse> DeleteLibraryAsync(int sectionKey)
|
||||
{
|
||||
var request = new DeleteLibraryRequest()
|
||||
{
|
||||
SectionId = sectionId,
|
||||
SectionKey = sectionKey,
|
||||
};
|
||||
string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl();
|
||||
var urlString = URLBuilder.Build(baseUrl, "/library/sections/{sectionId}", request);
|
||||
var urlString = URLBuilder.Build(baseUrl, "/library/sections/{sectionKey}", request);
|
||||
|
||||
var httpRequest = new HttpRequestMessage(HttpMethod.Delete, urlString);
|
||||
httpRequest.Headers.Add("user-agent", _userAgent);
|
||||
@@ -708,16 +712,10 @@ namespace PlexAPI
|
||||
}
|
||||
}
|
||||
|
||||
public async Task<GetLibraryItemsResponse> GetLibraryItemsAsync(object sectionId, Tag tag, long? includeGuids = null)
|
||||
public async Task<GetLibraryItemsResponse> GetLibraryItemsAsync(GetLibraryItemsRequest request)
|
||||
{
|
||||
var request = new GetLibraryItemsRequest()
|
||||
{
|
||||
SectionId = sectionId,
|
||||
Tag = tag,
|
||||
IncludeGuids = includeGuids,
|
||||
};
|
||||
string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl();
|
||||
var urlString = URLBuilder.Build(baseUrl, "/library/sections/{sectionId}/{tag}", request);
|
||||
var urlString = URLBuilder.Build(baseUrl, "/library/sections/{sectionKey}/{tag}", request);
|
||||
|
||||
var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString);
|
||||
httpRequest.Headers.Add("user-agent", _userAgent);
|
||||
@@ -727,7 +725,7 @@ namespace PlexAPI
|
||||
httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest);
|
||||
}
|
||||
|
||||
var hookCtx = new HookContext("getLibraryItems", null, _securitySource);
|
||||
var hookCtx = new HookContext("get-library-items", null, _securitySource);
|
||||
|
||||
httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest);
|
||||
|
||||
@@ -805,14 +803,15 @@ namespace PlexAPI
|
||||
}
|
||||
}
|
||||
|
||||
public async Task<RefreshLibraryResponse> RefreshLibraryAsync(double sectionId)
|
||||
public async Task<GetRefreshLibraryMetadataResponse> GetRefreshLibraryMetadataAsync(int sectionKey, Force? force = null)
|
||||
{
|
||||
var request = new RefreshLibraryRequest()
|
||||
var request = new GetRefreshLibraryMetadataRequest()
|
||||
{
|
||||
SectionId = sectionId,
|
||||
SectionKey = sectionKey,
|
||||
Force = force,
|
||||
};
|
||||
string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl();
|
||||
var urlString = URLBuilder.Build(baseUrl, "/library/sections/{sectionId}/refresh", request);
|
||||
var urlString = URLBuilder.Build(baseUrl, "/library/sections/{sectionKey}/refresh", request);
|
||||
|
||||
var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString);
|
||||
httpRequest.Headers.Add("user-agent", _userAgent);
|
||||
@@ -822,7 +821,7 @@ namespace PlexAPI
|
||||
httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest);
|
||||
}
|
||||
|
||||
var hookCtx = new HookContext("refreshLibrary", null, _securitySource);
|
||||
var hookCtx = new HookContext("get-refresh-library-metadata", null, _securitySource);
|
||||
|
||||
httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest);
|
||||
|
||||
@@ -860,7 +859,7 @@ namespace PlexAPI
|
||||
int responseStatusCode = (int)httpResponse.StatusCode;
|
||||
if(responseStatusCode == 200)
|
||||
{
|
||||
return new RefreshLibraryResponse()
|
||||
return new GetRefreshLibraryMetadataResponse()
|
||||
{
|
||||
StatusCode = responseStatusCode,
|
||||
ContentType = contentType,
|
||||
@@ -875,7 +874,7 @@ namespace PlexAPI
|
||||
{
|
||||
if(Utilities.IsContentTypeMatch("application/json", contentType))
|
||||
{
|
||||
var obj = ResponseBodyDeserializer.Deserialize<RefreshLibraryResponseBody>(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore);
|
||||
var obj = ResponseBodyDeserializer.Deserialize<GetRefreshLibraryMetadataResponseBody>(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore);
|
||||
obj!.RawResponse = httpResponse;
|
||||
throw obj!;
|
||||
}
|
||||
@@ -890,15 +889,15 @@ namespace PlexAPI
|
||||
}
|
||||
}
|
||||
|
||||
public async Task<SearchLibraryResponse> SearchLibraryAsync(long sectionId, Type type)
|
||||
public async Task<GetSearchLibraryResponse> GetSearchLibraryAsync(int sectionKey, QueryParamType type)
|
||||
{
|
||||
var request = new SearchLibraryRequest()
|
||||
var request = new GetSearchLibraryRequest()
|
||||
{
|
||||
SectionId = sectionId,
|
||||
SectionKey = sectionKey,
|
||||
Type = type,
|
||||
};
|
||||
string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl();
|
||||
var urlString = URLBuilder.Build(baseUrl, "/library/sections/{sectionId}/search", request);
|
||||
var urlString = URLBuilder.Build(baseUrl, "/library/sections/{sectionKey}/search", request);
|
||||
|
||||
var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString);
|
||||
httpRequest.Headers.Add("user-agent", _userAgent);
|
||||
@@ -908,7 +907,7 @@ namespace PlexAPI
|
||||
httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest);
|
||||
}
|
||||
|
||||
var hookCtx = new HookContext("searchLibrary", null, _securitySource);
|
||||
var hookCtx = new HookContext("get-search-library", null, _securitySource);
|
||||
|
||||
httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest);
|
||||
|
||||
@@ -948,8 +947,8 @@ namespace PlexAPI
|
||||
{
|
||||
if(Utilities.IsContentTypeMatch("application/json", contentType))
|
||||
{
|
||||
var obj = ResponseBodyDeserializer.Deserialize<Models.Requests.SearchLibraryResponseBody>(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore);
|
||||
var response = new SearchLibraryResponse()
|
||||
var obj = ResponseBodyDeserializer.Deserialize<Models.Requests.GetSearchLibraryResponseBody>(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore);
|
||||
var response = new GetSearchLibraryResponse()
|
||||
{
|
||||
StatusCode = responseStatusCode,
|
||||
ContentType = contentType,
|
||||
@@ -971,7 +970,7 @@ namespace PlexAPI
|
||||
{
|
||||
if(Utilities.IsContentTypeMatch("application/json", contentType))
|
||||
{
|
||||
var obj = ResponseBodyDeserializer.Deserialize<Models.Errors.SearchLibraryResponseBody>(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore);
|
||||
var obj = ResponseBodyDeserializer.Deserialize<Models.Errors.GetSearchLibraryResponseBody>(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore);
|
||||
obj!.RawResponse = httpResponse;
|
||||
throw obj!;
|
||||
}
|
||||
@@ -986,9 +985,9 @@ namespace PlexAPI
|
||||
}
|
||||
}
|
||||
|
||||
public async Task<GetMetadataResponse> GetMetadataAsync(double ratingKey)
|
||||
public async Task<GetMetaDataByRatingKeyResponse> GetMetaDataByRatingKeyAsync(long ratingKey)
|
||||
{
|
||||
var request = new GetMetadataRequest()
|
||||
var request = new GetMetaDataByRatingKeyRequest()
|
||||
{
|
||||
RatingKey = ratingKey,
|
||||
};
|
||||
@@ -1003,7 +1002,7 @@ namespace PlexAPI
|
||||
httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest);
|
||||
}
|
||||
|
||||
var hookCtx = new HookContext("getMetadata", null, _securitySource);
|
||||
var hookCtx = new HookContext("get-meta-data-by-rating-key", null, _securitySource);
|
||||
|
||||
httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest);
|
||||
|
||||
@@ -1043,8 +1042,8 @@ namespace PlexAPI
|
||||
{
|
||||
if(Utilities.IsContentTypeMatch("application/json", contentType))
|
||||
{
|
||||
var obj = ResponseBodyDeserializer.Deserialize<Models.Requests.GetMetadataResponseBody>(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore);
|
||||
var response = new GetMetadataResponse()
|
||||
var obj = ResponseBodyDeserializer.Deserialize<Models.Requests.GetMetaDataByRatingKeyResponseBody>(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore);
|
||||
var response = new GetMetaDataByRatingKeyResponse()
|
||||
{
|
||||
StatusCode = responseStatusCode,
|
||||
ContentType = contentType,
|
||||
@@ -1066,7 +1065,7 @@ namespace PlexAPI
|
||||
{
|
||||
if(Utilities.IsContentTypeMatch("application/json", contentType))
|
||||
{
|
||||
var obj = ResponseBodyDeserializer.Deserialize<Models.Errors.GetMetadataResponseBody>(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore);
|
||||
var obj = ResponseBodyDeserializer.Deserialize<Models.Errors.GetMetaDataByRatingKeyResponseBody>(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore);
|
||||
obj!.RawResponse = httpResponse;
|
||||
throw obj!;
|
||||
}
|
||||
@@ -1177,7 +1176,7 @@ namespace PlexAPI
|
||||
}
|
||||
}
|
||||
|
||||
public async Task<GetTopWatchedContentResponse> GetTopWatchedContentAsync(long type, long? includeGuids = null)
|
||||
public async Task<GetTopWatchedContentResponse> GetTopWatchedContentAsync(GetTopWatchedContentQueryParamType type, long? includeGuids = null)
|
||||
{
|
||||
var request = new GetTopWatchedContentRequest()
|
||||
{
|
||||
@@ -1205,7 +1204,7 @@ namespace PlexAPI
|
||||
httpResponse = await _client.SendAsync(httpRequest);
|
||||
int _statusCode = (int)httpResponse.StatusCode;
|
||||
|
||||
if (_statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600)
|
||||
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)
|
||||
@@ -1235,7 +1234,7 @@ namespace PlexAPI
|
||||
{
|
||||
if(Utilities.IsContentTypeMatch("application/json", contentType))
|
||||
{
|
||||
var obj = ResponseBodyDeserializer.Deserialize<GetTopWatchedContentResponseBody>(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore);
|
||||
var obj = ResponseBodyDeserializer.Deserialize<Models.Requests.GetTopWatchedContentResponseBody>(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore);
|
||||
var response = new GetTopWatchedContentResponse()
|
||||
{
|
||||
StatusCode = responseStatusCode,
|
||||
@@ -1250,10 +1249,23 @@ namespace PlexAPI
|
||||
throw new SDKException("Unknown content type received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse);
|
||||
}
|
||||
}
|
||||
else if(responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600)
|
||||
else if(responseStatusCode == 400 || responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600)
|
||||
{
|
||||
throw new SDKException("API error occurred", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse);
|
||||
}
|
||||
else if(responseStatusCode == 401)
|
||||
{
|
||||
if(Utilities.IsContentTypeMatch("application/json", contentType))
|
||||
{
|
||||
var obj = ResponseBodyDeserializer.Deserialize<Models.Errors.GetTopWatchedContentResponseBody>(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore);
|
||||
obj!.RawResponse = httpResponse;
|
||||
throw obj!;
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new SDKException("Unknown content type received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new SDKException("Unknown status code received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse);
|
||||
|
||||
@@ -94,10 +94,10 @@ namespace PlexAPI
|
||||
{
|
||||
public SDKConfig SDKConfiguration { get; private set; }
|
||||
private const string _language = "csharp";
|
||||
private const string _sdkVersion = "0.4.0";
|
||||
private const string _sdkGenVersion = "2.404.2";
|
||||
private const string _sdkVersion = "0.5.0";
|
||||
private const string _sdkGenVersion = "2.409.8";
|
||||
private const string _openapiDocVersion = "0.0.3";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.4.0 2.404.2 0.0.3 PlexAPI";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.5.0 2.409.8 0.0.3 PlexAPI";
|
||||
private string _serverUrl = "";
|
||||
private ISpeakeasyHttpClient _client;
|
||||
private Func<PlexAPI.Models.Components.Security>? _securitySource;
|
||||
|
||||
204
PlexAPI/Media.cs
204
PlexAPI/Media.cs
@@ -59,6 +59,24 @@ namespace PlexAPI
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<UpdatePlayProgressResponse> UpdatePlayProgressAsync(string key, double time, string state);
|
||||
|
||||
/// <summary>
|
||||
/// Get Banner Image
|
||||
///
|
||||
/// <remarks>
|
||||
/// Gets the banner image of the media item
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<GetBannerImageResponse> GetBannerImageAsync(GetBannerImageRequest request);
|
||||
|
||||
/// <summary>
|
||||
/// Get Thumb Image
|
||||
///
|
||||
/// <remarks>
|
||||
/// Gets the thumbnail image of the media item
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<GetThumbImageResponse> GetThumbImageAsync(GetThumbImageRequest request);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -72,10 +90,10 @@ namespace PlexAPI
|
||||
{
|
||||
public SDKConfig SDKConfiguration { get; private set; }
|
||||
private const string _language = "csharp";
|
||||
private const string _sdkVersion = "0.4.0";
|
||||
private const string _sdkGenVersion = "2.404.2";
|
||||
private const string _sdkVersion = "0.5.0";
|
||||
private const string _sdkGenVersion = "2.409.8";
|
||||
private const string _openapiDocVersion = "0.0.3";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.4.0 2.404.2 0.0.3 PlexAPI";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.5.0 2.409.8 0.0.3 PlexAPI";
|
||||
private string _serverUrl = "";
|
||||
private ISpeakeasyHttpClient _client;
|
||||
private Func<PlexAPI.Models.Components.Security>? _securitySource;
|
||||
@@ -344,5 +362,185 @@ namespace PlexAPI
|
||||
throw new SDKException("Unknown status code received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse);
|
||||
}
|
||||
}
|
||||
|
||||
public async Task<GetBannerImageResponse> GetBannerImageAsync(GetBannerImageRequest request)
|
||||
{
|
||||
string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl();
|
||||
var urlString = URLBuilder.Build(baseUrl, "/library/metadata/{ratingKey}/banner", 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-banner-image", 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("image/jpeg", contentType))
|
||||
{
|
||||
var response = new GetBannerImageResponse()
|
||||
{
|
||||
StatusCode = responseStatusCode,
|
||||
ContentType = contentType,
|
||||
RawResponse = httpResponse
|
||||
};
|
||||
response.Bytes = await httpResponse.Content.ReadAsByteArrayAsync();
|
||||
return response;
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new SDKException("Unknown content type received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse);
|
||||
}
|
||||
}
|
||||
else if(responseStatusCode == 400 || responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600)
|
||||
{
|
||||
throw new SDKException("API error occurred", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse);
|
||||
}
|
||||
else if(responseStatusCode == 401)
|
||||
{
|
||||
if(Utilities.IsContentTypeMatch("application/json", contentType))
|
||||
{
|
||||
var obj = ResponseBodyDeserializer.Deserialize<GetBannerImageResponseBody>(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore);
|
||||
obj!.RawResponse = httpResponse;
|
||||
throw obj!;
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new SDKException("Unknown content type received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new SDKException("Unknown status code received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse);
|
||||
}
|
||||
}
|
||||
|
||||
public async Task<GetThumbImageResponse> GetThumbImageAsync(GetThumbImageRequest request)
|
||||
{
|
||||
string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl();
|
||||
var urlString = URLBuilder.Build(baseUrl, "/library/metadata/{ratingKey}/thumb", 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-thumb-image", 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("image/jpeg", contentType))
|
||||
{
|
||||
var response = new GetThumbImageResponse()
|
||||
{
|
||||
StatusCode = responseStatusCode,
|
||||
ContentType = contentType,
|
||||
RawResponse = httpResponse
|
||||
};
|
||||
response.Bytes = await httpResponse.Content.ReadAsByteArrayAsync();
|
||||
return response;
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new SDKException("Unknown content type received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse);
|
||||
}
|
||||
}
|
||||
else if(responseStatusCode == 400 || responseStatusCode >= 400 && responseStatusCode < 500 || responseStatusCode >= 500 && responseStatusCode < 600)
|
||||
{
|
||||
throw new SDKException("API error occurred", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse);
|
||||
}
|
||||
else if(responseStatusCode == 401)
|
||||
{
|
||||
if(Utilities.IsContentTypeMatch("application/json", contentType))
|
||||
{
|
||||
var obj = ResponseBodyDeserializer.Deserialize<GetThumbImageResponseBody>(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore);
|
||||
obj!.RawResponse = httpResponse;
|
||||
throw obj!;
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new SDKException("Unknown content type received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new SDKException("Unknown status code received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -14,7 +14,7 @@ namespace PlexAPI.Models.Components
|
||||
public class Security
|
||||
{
|
||||
|
||||
[SpeakeasyMetadata("security:scheme=true,type=apiKey,subType=header,name=X-Plex-Token")]
|
||||
[SpeakeasyMetadata("security:scheme=true,type=apiKey,subType=query,name=X-Plex-Token")]
|
||||
public string? AccessToken { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -12,7 +12,7 @@ namespace PlexAPI.Models.Errors
|
||||
using Newtonsoft.Json;
|
||||
using PlexAPI.Utils;
|
||||
|
||||
public class GetResourcesErrors
|
||||
public class GetAllLibrariesErrors
|
||||
{
|
||||
|
||||
[JsonProperty("code")]
|
||||
@@ -19,11 +19,11 @@ namespace PlexAPI.Models.Errors
|
||||
/// <summary>
|
||||
/// Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
|
||||
/// </summary>
|
||||
public class GetLibraryResponseBody : Exception
|
||||
public class GetAllLibrariesResponseBody : Exception
|
||||
{
|
||||
|
||||
[JsonProperty("errors")]
|
||||
public List<GetLibraryErrors>? Errors { get; set; }
|
||||
public List<GetAllLibrariesErrors>? Errors { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Raw HTTP response; suitable for custom response parsing
|
||||
@@ -12,7 +12,7 @@ namespace PlexAPI.Models.Errors
|
||||
using Newtonsoft.Json;
|
||||
using PlexAPI.Utils;
|
||||
|
||||
public class GetLibraryErrors
|
||||
public class GetBannerImageErrors
|
||||
{
|
||||
|
||||
[JsonProperty("code")]
|
||||
@@ -19,11 +19,11 @@ namespace PlexAPI.Models.Errors
|
||||
/// <summary>
|
||||
/// Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
|
||||
/// </summary>
|
||||
public class GetResourcesResponseBody : Exception
|
||||
public class GetBannerImageResponseBody : Exception
|
||||
{
|
||||
|
||||
[JsonProperty("errors")]
|
||||
public List<GetResourcesErrors>? Errors { get; set; }
|
||||
public List<GetBannerImageErrors>? Errors { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Raw HTTP response; suitable for custom response parsing
|
||||
27
PlexAPI/Models/Errors/GetLibraryDetailsErrors.cs
Normal file
27
PlexAPI/Models/Errors/GetLibraryDetailsErrors.cs
Normal file
@@ -0,0 +1,27 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// 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.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
#nullable enable
|
||||
namespace PlexAPI.Models.Errors
|
||||
{
|
||||
using Newtonsoft.Json;
|
||||
using PlexAPI.Utils;
|
||||
|
||||
public class GetLibraryDetailsErrors
|
||||
{
|
||||
|
||||
[JsonProperty("code")]
|
||||
public double? Code { get; set; }
|
||||
|
||||
[JsonProperty("message")]
|
||||
public string? Message { get; set; }
|
||||
|
||||
[JsonProperty("status")]
|
||||
public double? Status { get; set; }
|
||||
}
|
||||
}
|
||||
34
PlexAPI/Models/Errors/GetLibraryDetailsResponseBody.cs
Normal file
34
PlexAPI/Models/Errors/GetLibraryDetailsResponseBody.cs
Normal file
@@ -0,0 +1,34 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// 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.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
#nullable enable
|
||||
namespace PlexAPI.Models.Errors
|
||||
{
|
||||
using Newtonsoft.Json;
|
||||
using PlexAPI.Models.Errors;
|
||||
using PlexAPI.Utils;
|
||||
using System.Collections.Generic;
|
||||
using System.Net.Http;
|
||||
using System;
|
||||
|
||||
/// <summary>
|
||||
/// Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
|
||||
/// </summary>
|
||||
public class GetLibraryDetailsResponseBody : Exception
|
||||
{
|
||||
|
||||
[JsonProperty("errors")]
|
||||
public List<GetLibraryDetailsErrors>? Errors { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Raw HTTP response; suitable for custom response parsing
|
||||
/// </summary>
|
||||
[JsonProperty("-")]
|
||||
public HttpResponseMessage? RawResponse { get; set; }
|
||||
}
|
||||
}
|
||||
27
PlexAPI/Models/Errors/GetMediaProvidersErrors.cs
Normal file
27
PlexAPI/Models/Errors/GetMediaProvidersErrors.cs
Normal file
@@ -0,0 +1,27 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// 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.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
#nullable enable
|
||||
namespace PlexAPI.Models.Errors
|
||||
{
|
||||
using Newtonsoft.Json;
|
||||
using PlexAPI.Utils;
|
||||
|
||||
public class GetMediaProvidersErrors
|
||||
{
|
||||
|
||||
[JsonProperty("code")]
|
||||
public double? Code { get; set; }
|
||||
|
||||
[JsonProperty("message")]
|
||||
public string? Message { get; set; }
|
||||
|
||||
[JsonProperty("status")]
|
||||
public double? Status { get; set; }
|
||||
}
|
||||
}
|
||||
34
PlexAPI/Models/Errors/GetMediaProvidersResponseBody.cs
Normal file
34
PlexAPI/Models/Errors/GetMediaProvidersResponseBody.cs
Normal file
@@ -0,0 +1,34 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// 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.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
#nullable enable
|
||||
namespace PlexAPI.Models.Errors
|
||||
{
|
||||
using Newtonsoft.Json;
|
||||
using PlexAPI.Models.Errors;
|
||||
using PlexAPI.Utils;
|
||||
using System.Collections.Generic;
|
||||
using System.Net.Http;
|
||||
using System;
|
||||
|
||||
/// <summary>
|
||||
/// Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
|
||||
/// </summary>
|
||||
public class GetMediaProvidersResponseBody : Exception
|
||||
{
|
||||
|
||||
[JsonProperty("errors")]
|
||||
public List<GetMediaProvidersErrors>? Errors { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Raw HTTP response; suitable for custom response parsing
|
||||
/// </summary>
|
||||
[JsonProperty("-")]
|
||||
public HttpResponseMessage? RawResponse { get; set; }
|
||||
}
|
||||
}
|
||||
27
PlexAPI/Models/Errors/GetMetaDataByRatingKeyErrors.cs
Normal file
27
PlexAPI/Models/Errors/GetMetaDataByRatingKeyErrors.cs
Normal file
@@ -0,0 +1,27 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// 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.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
#nullable enable
|
||||
namespace PlexAPI.Models.Errors
|
||||
{
|
||||
using Newtonsoft.Json;
|
||||
using PlexAPI.Utils;
|
||||
|
||||
public class GetMetaDataByRatingKeyErrors
|
||||
{
|
||||
|
||||
[JsonProperty("code")]
|
||||
public double? Code { get; set; }
|
||||
|
||||
[JsonProperty("message")]
|
||||
public string? Message { get; set; }
|
||||
|
||||
[JsonProperty("status")]
|
||||
public double? Status { get; set; }
|
||||
}
|
||||
}
|
||||
34
PlexAPI/Models/Errors/GetMetaDataByRatingKeyResponseBody.cs
Normal file
34
PlexAPI/Models/Errors/GetMetaDataByRatingKeyResponseBody.cs
Normal file
@@ -0,0 +1,34 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// 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.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
#nullable enable
|
||||
namespace PlexAPI.Models.Errors
|
||||
{
|
||||
using Newtonsoft.Json;
|
||||
using PlexAPI.Models.Errors;
|
||||
using PlexAPI.Utils;
|
||||
using System.Collections.Generic;
|
||||
using System.Net.Http;
|
||||
using System;
|
||||
|
||||
/// <summary>
|
||||
/// Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
|
||||
/// </summary>
|
||||
public class GetMetaDataByRatingKeyResponseBody : Exception
|
||||
{
|
||||
|
||||
[JsonProperty("errors")]
|
||||
public List<GetMetaDataByRatingKeyErrors>? Errors { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Raw HTTP response; suitable for custom response parsing
|
||||
/// </summary>
|
||||
[JsonProperty("-")]
|
||||
public HttpResponseMessage? RawResponse { get; set; }
|
||||
}
|
||||
}
|
||||
27
PlexAPI/Models/Errors/GetRefreshLibraryMetadataErrors.cs
Normal file
27
PlexAPI/Models/Errors/GetRefreshLibraryMetadataErrors.cs
Normal file
@@ -0,0 +1,27 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// 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.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
#nullable enable
|
||||
namespace PlexAPI.Models.Errors
|
||||
{
|
||||
using Newtonsoft.Json;
|
||||
using PlexAPI.Utils;
|
||||
|
||||
public class GetRefreshLibraryMetadataErrors
|
||||
{
|
||||
|
||||
[JsonProperty("code")]
|
||||
public double? Code { get; set; }
|
||||
|
||||
[JsonProperty("message")]
|
||||
public string? Message { get; set; }
|
||||
|
||||
[JsonProperty("status")]
|
||||
public double? Status { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// 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.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
#nullable enable
|
||||
namespace PlexAPI.Models.Errors
|
||||
{
|
||||
using Newtonsoft.Json;
|
||||
using PlexAPI.Models.Errors;
|
||||
using PlexAPI.Utils;
|
||||
using System.Collections.Generic;
|
||||
using System.Net.Http;
|
||||
using System;
|
||||
|
||||
/// <summary>
|
||||
/// Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
|
||||
/// </summary>
|
||||
public class GetRefreshLibraryMetadataResponseBody : Exception
|
||||
{
|
||||
|
||||
[JsonProperty("errors")]
|
||||
public List<GetRefreshLibraryMetadataErrors>? Errors { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Raw HTTP response; suitable for custom response parsing
|
||||
/// </summary>
|
||||
[JsonProperty("-")]
|
||||
public HttpResponseMessage? RawResponse { get; set; }
|
||||
}
|
||||
}
|
||||
27
PlexAPI/Models/Errors/GetSearchLibraryErrors.cs
Normal file
27
PlexAPI/Models/Errors/GetSearchLibraryErrors.cs
Normal file
@@ -0,0 +1,27 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// 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.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
#nullable enable
|
||||
namespace PlexAPI.Models.Errors
|
||||
{
|
||||
using Newtonsoft.Json;
|
||||
using PlexAPI.Utils;
|
||||
|
||||
public class GetSearchLibraryErrors
|
||||
{
|
||||
|
||||
[JsonProperty("code")]
|
||||
public double? Code { get; set; }
|
||||
|
||||
[JsonProperty("message")]
|
||||
public string? Message { get; set; }
|
||||
|
||||
[JsonProperty("status")]
|
||||
public double? Status { get; set; }
|
||||
}
|
||||
}
|
||||
34
PlexAPI/Models/Errors/GetSearchLibraryResponseBody.cs
Normal file
34
PlexAPI/Models/Errors/GetSearchLibraryResponseBody.cs
Normal file
@@ -0,0 +1,34 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// 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.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
#nullable enable
|
||||
namespace PlexAPI.Models.Errors
|
||||
{
|
||||
using Newtonsoft.Json;
|
||||
using PlexAPI.Models.Errors;
|
||||
using PlexAPI.Utils;
|
||||
using System.Collections.Generic;
|
||||
using System.Net.Http;
|
||||
using System;
|
||||
|
||||
/// <summary>
|
||||
/// Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
|
||||
/// </summary>
|
||||
public class GetSearchLibraryResponseBody : Exception
|
||||
{
|
||||
|
||||
[JsonProperty("errors")]
|
||||
public List<GetSearchLibraryErrors>? Errors { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Raw HTTP response; suitable for custom response parsing
|
||||
/// </summary>
|
||||
[JsonProperty("-")]
|
||||
public HttpResponseMessage? RawResponse { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -1,27 +0,0 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// 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.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
#nullable enable
|
||||
namespace PlexAPI.Models.Errors
|
||||
{
|
||||
using Newtonsoft.Json;
|
||||
using PlexAPI.Utils;
|
||||
|
||||
public class GetServerIdentityErrors
|
||||
{
|
||||
|
||||
[JsonProperty("code")]
|
||||
public double? Code { get; set; }
|
||||
|
||||
[JsonProperty("message")]
|
||||
public string? Message { get; set; }
|
||||
|
||||
[JsonProperty("status")]
|
||||
public double? Status { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -10,20 +10,22 @@
|
||||
namespace PlexAPI.Models.Errors
|
||||
{
|
||||
using Newtonsoft.Json;
|
||||
using PlexAPI.Models.Errors;
|
||||
using PlexAPI.Utils;
|
||||
using System.Collections.Generic;
|
||||
using System.Net.Http;
|
||||
using System;
|
||||
|
||||
/// <summary>
|
||||
/// Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
|
||||
/// Request Timeout
|
||||
/// </summary>
|
||||
public class GetServerIdentityResponseBody : Exception
|
||||
{
|
||||
|
||||
[JsonProperty("errors")]
|
||||
public List<GetServerIdentityErrors>? Errors { get; set; }
|
||||
[JsonProperty("code")]
|
||||
public long? Code { get; set; }
|
||||
|
||||
[JsonProperty("message")]
|
||||
private string? _message { get; set; }
|
||||
public override string Message { get {return _message ?? "";} }
|
||||
|
||||
/// <summary>
|
||||
/// Raw HTTP response; suitable for custom response parsing
|
||||
|
||||
27
PlexAPI/Models/Errors/GetServerResourcesErrors.cs
Normal file
27
PlexAPI/Models/Errors/GetServerResourcesErrors.cs
Normal file
@@ -0,0 +1,27 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// 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.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
#nullable enable
|
||||
namespace PlexAPI.Models.Errors
|
||||
{
|
||||
using Newtonsoft.Json;
|
||||
using PlexAPI.Utils;
|
||||
|
||||
public class GetServerResourcesErrors
|
||||
{
|
||||
|
||||
[JsonProperty("code")]
|
||||
public double? Code { get; set; }
|
||||
|
||||
[JsonProperty("message")]
|
||||
public string? Message { get; set; }
|
||||
|
||||
[JsonProperty("status")]
|
||||
public double? Status { get; set; }
|
||||
}
|
||||
}
|
||||
34
PlexAPI/Models/Errors/GetServerResourcesResponseBody.cs
Normal file
34
PlexAPI/Models/Errors/GetServerResourcesResponseBody.cs
Normal file
@@ -0,0 +1,34 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// 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.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
#nullable enable
|
||||
namespace PlexAPI.Models.Errors
|
||||
{
|
||||
using Newtonsoft.Json;
|
||||
using PlexAPI.Models.Errors;
|
||||
using PlexAPI.Utils;
|
||||
using System.Collections.Generic;
|
||||
using System.Net.Http;
|
||||
using System;
|
||||
|
||||
/// <summary>
|
||||
/// Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
|
||||
/// </summary>
|
||||
public class GetServerResourcesResponseBody : Exception
|
||||
{
|
||||
|
||||
[JsonProperty("errors")]
|
||||
public List<GetServerResourcesErrors>? Errors { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Raw HTTP response; suitable for custom response parsing
|
||||
/// </summary>
|
||||
[JsonProperty("-")]
|
||||
public HttpResponseMessage? RawResponse { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -12,7 +12,7 @@ namespace PlexAPI.Models.Errors
|
||||
using Newtonsoft.Json;
|
||||
using PlexAPI.Utils;
|
||||
|
||||
public class GetMetadataErrors
|
||||
public class GetThumbImageErrors
|
||||
{
|
||||
|
||||
[JsonProperty("code")]
|
||||
@@ -19,11 +19,11 @@ namespace PlexAPI.Models.Errors
|
||||
/// <summary>
|
||||
/// Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
|
||||
/// </summary>
|
||||
public class GetLibrariesResponseBody : Exception
|
||||
public class GetThumbImageResponseBody : Exception
|
||||
{
|
||||
|
||||
[JsonProperty("errors")]
|
||||
public List<GetLibrariesErrors>? Errors { get; set; }
|
||||
public List<GetThumbImageErrors>? Errors { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Raw HTTP response; suitable for custom response parsing
|
||||
@@ -20,5 +20,8 @@ namespace PlexAPI.Models.Errors
|
||||
|
||||
[JsonProperty("message")]
|
||||
public string? Message { get; set; }
|
||||
|
||||
[JsonProperty("status")]
|
||||
public long? Status { get; set; }
|
||||
}
|
||||
}
|
||||
24
PlexAPI/Models/Errors/GetTokenByPinIdPlexErrors.cs
Normal file
24
PlexAPI/Models/Errors/GetTokenByPinIdPlexErrors.cs
Normal file
@@ -0,0 +1,24 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// 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.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
#nullable enable
|
||||
namespace PlexAPI.Models.Errors
|
||||
{
|
||||
using Newtonsoft.Json;
|
||||
using PlexAPI.Utils;
|
||||
|
||||
public class GetTokenByPinIdPlexErrors
|
||||
{
|
||||
|
||||
[JsonProperty("code")]
|
||||
public long? Code { get; set; }
|
||||
|
||||
[JsonProperty("message")]
|
||||
public string? Message { get; set; }
|
||||
}
|
||||
}
|
||||
34
PlexAPI/Models/Errors/GetTokenByPinIdPlexResponseBody.cs
Normal file
34
PlexAPI/Models/Errors/GetTokenByPinIdPlexResponseBody.cs
Normal file
@@ -0,0 +1,34 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// 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.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
#nullable enable
|
||||
namespace PlexAPI.Models.Errors
|
||||
{
|
||||
using Newtonsoft.Json;
|
||||
using PlexAPI.Models.Errors;
|
||||
using PlexAPI.Utils;
|
||||
using System.Collections.Generic;
|
||||
using System.Net.Http;
|
||||
using System;
|
||||
|
||||
/// <summary>
|
||||
/// Not Found or Expired
|
||||
/// </summary>
|
||||
public class GetTokenByPinIdPlexResponseBody : Exception
|
||||
{
|
||||
|
||||
[JsonProperty("errors")]
|
||||
public List<GetTokenByPinIdPlexErrors>? Errors { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Raw HTTP response; suitable for custom response parsing
|
||||
/// </summary>
|
||||
[JsonProperty("-")]
|
||||
public HttpResponseMessage? RawResponse { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -17,7 +17,7 @@ namespace PlexAPI.Models.Errors
|
||||
using System;
|
||||
|
||||
/// <summary>
|
||||
/// Not Found or Expired
|
||||
/// Bad Request response when the X-Plex-Client-Identifier is missing
|
||||
/// </summary>
|
||||
public class GetTokenByPinIdResponseBody : Exception
|
||||
{
|
||||
|
||||
27
PlexAPI/Models/Errors/GetTopWatchedContentErrors.cs
Normal file
27
PlexAPI/Models/Errors/GetTopWatchedContentErrors.cs
Normal file
@@ -0,0 +1,27 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// 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.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
#nullable enable
|
||||
namespace PlexAPI.Models.Errors
|
||||
{
|
||||
using Newtonsoft.Json;
|
||||
using PlexAPI.Utils;
|
||||
|
||||
public class GetTopWatchedContentErrors
|
||||
{
|
||||
|
||||
[JsonProperty("code")]
|
||||
public double? Code { get; set; }
|
||||
|
||||
[JsonProperty("message")]
|
||||
public string? Message { get; set; }
|
||||
|
||||
[JsonProperty("status")]
|
||||
public double? Status { get; set; }
|
||||
}
|
||||
}
|
||||
34
PlexAPI/Models/Errors/GetTopWatchedContentResponseBody.cs
Normal file
34
PlexAPI/Models/Errors/GetTopWatchedContentResponseBody.cs
Normal file
@@ -0,0 +1,34 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// 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.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
#nullable enable
|
||||
namespace PlexAPI.Models.Errors
|
||||
{
|
||||
using Newtonsoft.Json;
|
||||
using PlexAPI.Models.Errors;
|
||||
using PlexAPI.Utils;
|
||||
using System.Collections.Generic;
|
||||
using System.Net.Http;
|
||||
using System;
|
||||
|
||||
/// <summary>
|
||||
/// Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
|
||||
/// </summary>
|
||||
public class GetTopWatchedContentResponseBody : Exception
|
||||
{
|
||||
|
||||
[JsonProperty("errors")]
|
||||
public List<GetTopWatchedContentErrors>? Errors { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Raw HTTP response; suitable for custom response parsing
|
||||
/// </summary>
|
||||
[JsonProperty("-")]
|
||||
public HttpResponseMessage? RawResponse { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -12,7 +12,7 @@ namespace PlexAPI.Models.Errors
|
||||
using Newtonsoft.Json;
|
||||
using PlexAPI.Utils;
|
||||
|
||||
public class GetLibrariesErrors
|
||||
public class GetWatchListErrors
|
||||
{
|
||||
|
||||
[JsonProperty("code")]
|
||||
@@ -19,11 +19,11 @@ namespace PlexAPI.Models.Errors
|
||||
/// <summary>
|
||||
/// Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
|
||||
/// </summary>
|
||||
public class GetMetadataResponseBody : Exception
|
||||
public class GetWatchListResponseBody : Exception
|
||||
{
|
||||
|
||||
[JsonProperty("errors")]
|
||||
public List<GetMetadataErrors>? Errors { get; set; }
|
||||
public List<GetWatchListErrors>? Errors { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Raw HTTP response; suitable for custom response parsing
|
||||
@@ -1,27 +0,0 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// 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.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
#nullable enable
|
||||
namespace PlexAPI.Models.Errors
|
||||
{
|
||||
using Newtonsoft.Json;
|
||||
using PlexAPI.Utils;
|
||||
|
||||
public class GetWatchlistErrors
|
||||
{
|
||||
|
||||
[JsonProperty("code")]
|
||||
public double? Code { get; set; }
|
||||
|
||||
[JsonProperty("message")]
|
||||
public string? Message { get; set; }
|
||||
|
||||
[JsonProperty("status")]
|
||||
public double? Status { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -1,34 +0,0 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// 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.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
#nullable enable
|
||||
namespace PlexAPI.Models.Errors
|
||||
{
|
||||
using Newtonsoft.Json;
|
||||
using PlexAPI.Models.Errors;
|
||||
using PlexAPI.Utils;
|
||||
using System.Collections.Generic;
|
||||
using System.Net.Http;
|
||||
using System;
|
||||
|
||||
/// <summary>
|
||||
/// Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
|
||||
/// </summary>
|
||||
public class GetWatchlistResponseBody : Exception
|
||||
{
|
||||
|
||||
[JsonProperty("errors")]
|
||||
public List<GetWatchlistErrors>? Errors { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Raw HTTP response; suitable for custom response parsing
|
||||
/// </summary>
|
||||
[JsonProperty("-")]
|
||||
public HttpResponseMessage? RawResponse { get; set; }
|
||||
}
|
||||
}
|
||||
27
PlexAPI/Models/Errors/PostUsersSignInDataErrors.cs
Normal file
27
PlexAPI/Models/Errors/PostUsersSignInDataErrors.cs
Normal file
@@ -0,0 +1,27 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// 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.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
#nullable enable
|
||||
namespace PlexAPI.Models.Errors
|
||||
{
|
||||
using Newtonsoft.Json;
|
||||
using PlexAPI.Utils;
|
||||
|
||||
public class PostUsersSignInDataErrors
|
||||
{
|
||||
|
||||
[JsonProperty("code")]
|
||||
public double? Code { get; set; }
|
||||
|
||||
[JsonProperty("message")]
|
||||
public string? Message { get; set; }
|
||||
|
||||
[JsonProperty("status")]
|
||||
public double? Status { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -19,11 +19,11 @@ namespace PlexAPI.Models.Errors
|
||||
/// <summary>
|
||||
/// Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
|
||||
/// </summary>
|
||||
public class PostUsersSigninDataResponseBody : Exception
|
||||
public class PostUsersSignInDataResponseBody : Exception
|
||||
{
|
||||
|
||||
[JsonProperty("errors")]
|
||||
public List<PostUsersSigninDataErrors>? Errors { get; set; }
|
||||
public List<PostUsersSignInDataErrors>? Errors { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Raw HTTP response; suitable for custom response parsing
|
||||
@@ -1,27 +0,0 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// 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.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
#nullable enable
|
||||
namespace PlexAPI.Models.Errors
|
||||
{
|
||||
using Newtonsoft.Json;
|
||||
using PlexAPI.Utils;
|
||||
|
||||
public class PostUsersSigninDataErrors
|
||||
{
|
||||
|
||||
[JsonProperty("code")]
|
||||
public double? Code { get; set; }
|
||||
|
||||
[JsonProperty("message")]
|
||||
public string? Message { get; set; }
|
||||
|
||||
[JsonProperty("status")]
|
||||
public double? Status { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -1,27 +0,0 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// 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.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
#nullable enable
|
||||
namespace PlexAPI.Models.Errors
|
||||
{
|
||||
using Newtonsoft.Json;
|
||||
using PlexAPI.Utils;
|
||||
|
||||
public class RefreshLibraryErrors
|
||||
{
|
||||
|
||||
[JsonProperty("code")]
|
||||
public double? Code { get; set; }
|
||||
|
||||
[JsonProperty("message")]
|
||||
public string? Message { get; set; }
|
||||
|
||||
[JsonProperty("status")]
|
||||
public double? Status { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -1,34 +0,0 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// 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.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
#nullable enable
|
||||
namespace PlexAPI.Models.Errors
|
||||
{
|
||||
using Newtonsoft.Json;
|
||||
using PlexAPI.Models.Errors;
|
||||
using PlexAPI.Utils;
|
||||
using System.Collections.Generic;
|
||||
using System.Net.Http;
|
||||
using System;
|
||||
|
||||
/// <summary>
|
||||
/// Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
|
||||
/// </summary>
|
||||
public class RefreshLibraryResponseBody : Exception
|
||||
{
|
||||
|
||||
[JsonProperty("errors")]
|
||||
public List<RefreshLibraryErrors>? Errors { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Raw HTTP response; suitable for custom response parsing
|
||||
/// </summary>
|
||||
[JsonProperty("-")]
|
||||
public HttpResponseMessage? RawResponse { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -1,27 +0,0 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// 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.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
#nullable enable
|
||||
namespace PlexAPI.Models.Errors
|
||||
{
|
||||
using Newtonsoft.Json;
|
||||
using PlexAPI.Utils;
|
||||
|
||||
public class SearchLibraryErrors
|
||||
{
|
||||
|
||||
[JsonProperty("code")]
|
||||
public double? Code { get; set; }
|
||||
|
||||
[JsonProperty("message")]
|
||||
public string? Message { get; set; }
|
||||
|
||||
[JsonProperty("status")]
|
||||
public double? Status { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -1,34 +0,0 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// 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.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
#nullable enable
|
||||
namespace PlexAPI.Models.Errors
|
||||
{
|
||||
using Newtonsoft.Json;
|
||||
using PlexAPI.Models.Errors;
|
||||
using PlexAPI.Utils;
|
||||
using System.Collections.Generic;
|
||||
using System.Net.Http;
|
||||
using System;
|
||||
|
||||
/// <summary>
|
||||
/// Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
|
||||
/// </summary>
|
||||
public class SearchLibraryResponseBody : Exception
|
||||
{
|
||||
|
||||
[JsonProperty("errors")]
|
||||
public List<SearchLibraryErrors>? Errors { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Raw HTTP response; suitable for custom response parsing
|
||||
/// </summary>
|
||||
[JsonProperty("-")]
|
||||
public HttpResponseMessage? RawResponse { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -22,7 +22,7 @@ namespace PlexAPI.Models.Requests
|
||||
public Tonight? Tonight { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Indicate that the latest version should be marked as skipped. The <Release> entry for this version will have the `state` set to `skipped`.
|
||||
/// Indicate that the latest version should be marked as skipped. The [Release] entry for this version will have the `state` set to `skipped`.
|
||||
/// </summary>
|
||||
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=skip")]
|
||||
public Skip? Skip { get; set; }
|
||||
|
||||
@@ -14,28 +14,26 @@ namespace PlexAPI.Models.Requests
|
||||
using System;
|
||||
|
||||
/// <summary>
|
||||
/// Filter
|
||||
/// The auto-select subtitle mode (0 = Manually selected, 1 = Shown with foreign audio, 2 = Always enabled)
|
||||
/// </summary>
|
||||
public enum PathParamFilter
|
||||
public enum AutoSelectSubtitle
|
||||
{
|
||||
[JsonProperty("all")]
|
||||
All,
|
||||
[JsonProperty("available")]
|
||||
Available,
|
||||
[JsonProperty("released")]
|
||||
Released,
|
||||
[JsonProperty("0")]
|
||||
Zero,
|
||||
[JsonProperty("1")]
|
||||
One,
|
||||
}
|
||||
|
||||
public static class PathParamFilterExtension
|
||||
public static class AutoSelectSubtitleExtension
|
||||
{
|
||||
public static string Value(this PathParamFilter value)
|
||||
public static string Value(this AutoSelectSubtitle value)
|
||||
{
|
||||
return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString();
|
||||
}
|
||||
|
||||
public static PathParamFilter ToEnum(this string value)
|
||||
public static AutoSelectSubtitle ToEnum(this string value)
|
||||
{
|
||||
foreach(var field in typeof(PathParamFilter).GetFields())
|
||||
foreach(var field in typeof(AutoSelectSubtitle).GetFields())
|
||||
{
|
||||
var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false);
|
||||
if (attributes.Length == 0)
|
||||
@@ -48,14 +46,14 @@ namespace PlexAPI.Models.Requests
|
||||
{
|
||||
var enumVal = field.GetValue(null);
|
||||
|
||||
if (enumVal is PathParamFilter)
|
||||
if (enumVal is AutoSelectSubtitle)
|
||||
{
|
||||
return (PathParamFilter)enumVal;
|
||||
return (AutoSelectSubtitle)enumVal;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
throw new Exception($"Unknown value {value} for enum PathParamFilter");
|
||||
throw new Exception($"Unknown value {value} for enum AutoSelectSubtitle");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,24 +16,24 @@ namespace PlexAPI.Models.Requests
|
||||
{
|
||||
|
||||
[JsonProperty("protocol")]
|
||||
public string? Protocol { get; set; }
|
||||
public string Protocol { get; set; } = default!;
|
||||
|
||||
[JsonProperty("address")]
|
||||
public string? Address { get; set; }
|
||||
public string Address { get; set; } = default!;
|
||||
|
||||
[JsonProperty("port")]
|
||||
public double? Port { get; set; }
|
||||
public double Port { get; set; } = default!;
|
||||
|
||||
[JsonProperty("uri")]
|
||||
public string? Uri { get; set; }
|
||||
public string Uri { get; set; } = default!;
|
||||
|
||||
[JsonProperty("local")]
|
||||
public bool? Local { get; set; }
|
||||
public bool Local { get; set; } = default!;
|
||||
|
||||
[JsonProperty("relay")]
|
||||
public bool? Relay { get; set; }
|
||||
public bool Relay { get; set; } = default!;
|
||||
|
||||
[JsonProperty("IPv6")]
|
||||
public bool? IPv6 { get; set; }
|
||||
public bool IPv6 { get; set; } = default!;
|
||||
}
|
||||
}
|
||||
62
PlexAPI/Models/Requests/CreatePlaylistQueryParamType.cs
Normal file
62
PlexAPI/Models/Requests/CreatePlaylistQueryParamType.cs
Normal file
@@ -0,0 +1,62 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// 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.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
#nullable enable
|
||||
namespace PlexAPI.Models.Requests
|
||||
{
|
||||
using Newtonsoft.Json;
|
||||
using PlexAPI.Utils;
|
||||
using System;
|
||||
|
||||
/// <summary>
|
||||
/// type of playlist to create
|
||||
/// </summary>
|
||||
public enum CreatePlaylistQueryParamType
|
||||
{
|
||||
[JsonProperty("audio")]
|
||||
Audio,
|
||||
[JsonProperty("video")]
|
||||
Video,
|
||||
[JsonProperty("photo")]
|
||||
Photo,
|
||||
}
|
||||
|
||||
public static class CreatePlaylistQueryParamTypeExtension
|
||||
{
|
||||
public static string Value(this CreatePlaylistQueryParamType value)
|
||||
{
|
||||
return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString();
|
||||
}
|
||||
|
||||
public static CreatePlaylistQueryParamType ToEnum(this string value)
|
||||
{
|
||||
foreach(var field in typeof(CreatePlaylistQueryParamType).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 CreatePlaylistQueryParamType)
|
||||
{
|
||||
return (CreatePlaylistQueryParamType)enumVal;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
throw new Exception($"Unknown value {value} for enum CreatePlaylistQueryParamType");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -25,7 +25,7 @@ namespace PlexAPI.Models.Requests
|
||||
/// type of playlist to create
|
||||
/// </summary>
|
||||
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=type")]
|
||||
public QueryParamType Type { get; set; } = default!;
|
||||
public CreatePlaylistQueryParamType Type { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// whether the playlist is smart or not
|
||||
|
||||
60
PlexAPI/Models/Requests/DefaultSubtitleAccessibility.cs
Normal file
60
PlexAPI/Models/Requests/DefaultSubtitleAccessibility.cs
Normal file
@@ -0,0 +1,60 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// 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.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
#nullable enable
|
||||
namespace PlexAPI.Models.Requests
|
||||
{
|
||||
using Newtonsoft.Json;
|
||||
using PlexAPI.Utils;
|
||||
using System;
|
||||
|
||||
/// <summary>
|
||||
/// The subtitles for the deaf or hard-of-hearing (SDH) searches mode (0 = Prefer non-SDH subtitles, 1 = Prefer SDH subtitles, 2 = Only show SDH subtitles, 3 = Only shown non-SDH subtitles)
|
||||
/// </summary>
|
||||
public enum DefaultSubtitleAccessibility
|
||||
{
|
||||
[JsonProperty("0")]
|
||||
Zero,
|
||||
[JsonProperty("1")]
|
||||
One,
|
||||
}
|
||||
|
||||
public static class DefaultSubtitleAccessibilityExtension
|
||||
{
|
||||
public static string Value(this DefaultSubtitleAccessibility value)
|
||||
{
|
||||
return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString();
|
||||
}
|
||||
|
||||
public static DefaultSubtitleAccessibility ToEnum(this string value)
|
||||
{
|
||||
foreach(var field in typeof(DefaultSubtitleAccessibility).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 DefaultSubtitleAccessibility)
|
||||
{
|
||||
return (DefaultSubtitleAccessibility)enumVal;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
throw new Exception($"Unknown value {value} for enum DefaultSubtitleAccessibility");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
60
PlexAPI/Models/Requests/DefaultSubtitleForced.cs
Normal file
60
PlexAPI/Models/Requests/DefaultSubtitleForced.cs
Normal file
@@ -0,0 +1,60 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// 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.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
#nullable enable
|
||||
namespace PlexAPI.Models.Requests
|
||||
{
|
||||
using Newtonsoft.Json;
|
||||
using PlexAPI.Utils;
|
||||
using System;
|
||||
|
||||
/// <summary>
|
||||
/// The forced subtitles searches mode (0 = Prefer non-forced subtitles, 1 = Prefer forced subtitles, 2 = Only show forced subtitles, 3 = Only show non-forced subtitles)
|
||||
/// </summary>
|
||||
public enum DefaultSubtitleForced
|
||||
{
|
||||
[JsonProperty("0")]
|
||||
Zero,
|
||||
[JsonProperty("1")]
|
||||
One,
|
||||
}
|
||||
|
||||
public static class DefaultSubtitleForcedExtension
|
||||
{
|
||||
public static string Value(this DefaultSubtitleForced value)
|
||||
{
|
||||
return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString();
|
||||
}
|
||||
|
||||
public static DefaultSubtitleForced ToEnum(this string value)
|
||||
{
|
||||
foreach(var field in typeof(DefaultSubtitleForced).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 DefaultSubtitleForced)
|
||||
{
|
||||
return (DefaultSubtitleForced)enumVal;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
throw new Exception($"Unknown value {value} for enum DefaultSubtitleForced");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -15,9 +15,14 @@ namespace PlexAPI.Models.Requests
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// the Id of the library to query
|
||||
/// The unique key of the Plex library. <br/>
|
||||
///
|
||||
/// <remarks>
|
||||
/// Note: This is unique in the context of the Plex server.<br/>
|
||||
///
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
[SpeakeasyMetadata("pathParam:style=simple,explode=false,name=sectionId")]
|
||||
public double SectionId { get; set; } = default!;
|
||||
[SpeakeasyMetadata("pathParam:style=simple,explode=false,name=sectionKey")]
|
||||
public int SectionKey { get; set; } = default!;
|
||||
}
|
||||
}
|
||||
29
PlexAPI/Models/Requests/Feature.cs
Normal file
29
PlexAPI/Models/Requests/Feature.cs
Normal file
@@ -0,0 +1,29 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// 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.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
#nullable enable
|
||||
namespace PlexAPI.Models.Requests
|
||||
{
|
||||
using Newtonsoft.Json;
|
||||
using PlexAPI.Models.Requests;
|
||||
using PlexAPI.Utils;
|
||||
using System.Collections.Generic;
|
||||
|
||||
public class Feature
|
||||
{
|
||||
|
||||
[JsonProperty("key")]
|
||||
public string? Key { get; set; }
|
||||
|
||||
[JsonProperty("type")]
|
||||
public string? Type { get; set; }
|
||||
|
||||
[JsonProperty("Directory")]
|
||||
public List<GetMediaProvidersDirectory>? Directory { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -9,17 +9,54 @@
|
||||
#nullable enable
|
||||
namespace PlexAPI.Models.Requests
|
||||
{
|
||||
using Newtonsoft.Json;
|
||||
using PlexAPI.Utils;
|
||||
using System;
|
||||
|
||||
/// <summary>
|
||||
/// Filters content by field and direction/equality<br/>
|
||||
///
|
||||
/// <remarks>
|
||||
/// (Unknown if viewedAt is the only supported column)<br/>
|
||||
///
|
||||
/// </remarks>
|
||||
/// Filter
|
||||
/// </summary>
|
||||
public class Filter
|
||||
public enum Filter
|
||||
{
|
||||
[JsonProperty("all")]
|
||||
All,
|
||||
[JsonProperty("available")]
|
||||
Available,
|
||||
[JsonProperty("released")]
|
||||
Released,
|
||||
}
|
||||
|
||||
public static class FilterExtension
|
||||
{
|
||||
public static string Value(this Filter value)
|
||||
{
|
||||
return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString();
|
||||
}
|
||||
|
||||
public static Filter ToEnum(this string value)
|
||||
{
|
||||
foreach(var field in typeof(Filter).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 Filter)
|
||||
{
|
||||
return (Filter)enumVal;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
throw new Exception($"Unknown value {value} for enum Filter");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -12,14 +12,7 @@ namespace PlexAPI.Models.Requests
|
||||
using PlexAPI.Utils;
|
||||
|
||||
/// <summary>
|
||||
/// Force overwriting of duplicate playlists. <br/>
|
||||
///
|
||||
/// <remarks>
|
||||
/// By default, a playlist file uploaded with the same path will overwrite the existing playlist. <br/>
|
||||
/// The `force` argument is used to disable overwriting. <br/>
|
||||
/// If the `force` argument is set to 0, a new playlist will be created suffixed with the date and time that the duplicate was uploaded.<br/>
|
||||
///
|
||||
/// </remarks>
|
||||
/// Force the refresh even if the library is already being refreshed.
|
||||
/// </summary>
|
||||
public enum Force
|
||||
{
|
||||
|
||||
@@ -14,7 +14,7 @@ namespace PlexAPI.Models.Requests
|
||||
using PlexAPI.Utils;
|
||||
using System.Collections.Generic;
|
||||
|
||||
public class GetLibrariesDirectory
|
||||
public class GetAllLibrariesDirectory
|
||||
{
|
||||
|
||||
[JsonProperty("allowSync")]
|
||||
@@ -56,12 +56,21 @@ namespace PlexAPI.Models.Requests
|
||||
[JsonProperty("uuid")]
|
||||
public string? Uuid { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Unix epoch datetime
|
||||
/// </summary>
|
||||
[JsonProperty("updatedAt")]
|
||||
public int? UpdatedAt { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Unix epoch datetime
|
||||
/// </summary>
|
||||
[JsonProperty("createdAt")]
|
||||
public int? CreatedAt { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Unix epoch datetime
|
||||
/// </summary>
|
||||
[JsonProperty("scannedAt")]
|
||||
public int? ScannedAt { get; set; }
|
||||
|
||||
@@ -14,19 +14,19 @@ namespace PlexAPI.Models.Requests
|
||||
using PlexAPI.Utils;
|
||||
using System.Collections.Generic;
|
||||
|
||||
public class GetLibrariesMediaContainer
|
||||
public class GetAllLibrariesMediaContainer
|
||||
{
|
||||
|
||||
[JsonProperty("size")]
|
||||
public int? Size { get; set; }
|
||||
public int Size { get; set; } = default!;
|
||||
|
||||
[JsonProperty("allowSync")]
|
||||
public bool? AllowSync { get; set; }
|
||||
public bool AllowSync { get; set; } = default!;
|
||||
|
||||
[JsonProperty("title1")]
|
||||
public string? Title1 { get; set; }
|
||||
public string Title1 { get; set; } = default!;
|
||||
|
||||
[JsonProperty("Directory")]
|
||||
public List<GetLibrariesDirectory>? Directory { get; set; }
|
||||
public List<GetAllLibrariesDirectory>? Directory { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -14,7 +14,7 @@ namespace PlexAPI.Models.Requests
|
||||
using System.Net.Http;
|
||||
using System;
|
||||
|
||||
public class GetLibrariesResponse
|
||||
public class GetAllLibrariesResponse
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
@@ -35,6 +35,6 @@ namespace PlexAPI.Models.Requests
|
||||
/// <summary>
|
||||
/// The libraries available on the Server
|
||||
/// </summary>
|
||||
public Models.Requests.GetLibrariesResponseBody? Object { get; set; }
|
||||
public Models.Requests.GetAllLibrariesResponseBody? Object { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -16,10 +16,10 @@ namespace PlexAPI.Models.Requests
|
||||
/// <summary>
|
||||
/// The libraries available on the Server
|
||||
/// </summary>
|
||||
public class GetLibrariesResponseBody
|
||||
public class GetAllLibrariesResponseBody
|
||||
{
|
||||
|
||||
[JsonProperty("MediaContainer")]
|
||||
public GetLibrariesMediaContainer? MediaContainer { get; set; }
|
||||
public GetAllLibrariesMediaContainer? MediaContainer { get; set; }
|
||||
}
|
||||
}
|
||||
41
PlexAPI/Models/Requests/GetBannerImageRequest.cs
Normal file
41
PlexAPI/Models/Requests/GetBannerImageRequest.cs
Normal file
@@ -0,0 +1,41 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// 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.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
#nullable enable
|
||||
namespace PlexAPI.Models.Requests
|
||||
{
|
||||
using PlexAPI.Utils;
|
||||
|
||||
public class GetBannerImageRequest
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// the id of the library item to return the children of.
|
||||
/// </summary>
|
||||
[SpeakeasyMetadata("pathParam:style=simple,explode=false,name=ratingKey")]
|
||||
public long RatingKey { get; set; } = default!;
|
||||
|
||||
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=width")]
|
||||
public long Width { get; set; } = default!;
|
||||
|
||||
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=height")]
|
||||
public long Height { get; set; } = default!;
|
||||
|
||||
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=minSize")]
|
||||
public long MinSize { get; set; } = default!;
|
||||
|
||||
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=upscale")]
|
||||
public long Upscale { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// Plex Authentication Token
|
||||
/// </summary>
|
||||
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=X-Plex-Token")]
|
||||
public string XPlexToken { get; set; } = default!;
|
||||
}
|
||||
}
|
||||
42
PlexAPI/Models/Requests/GetBannerImageResponse.cs
Normal file
42
PlexAPI/Models/Requests/GetBannerImageResponse.cs
Normal file
@@ -0,0 +1,42 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// 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.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
#nullable enable
|
||||
namespace PlexAPI.Models.Requests
|
||||
{
|
||||
using PlexAPI.Utils;
|
||||
using System.Collections.Generic;
|
||||
using System.Net.Http;
|
||||
using System;
|
||||
|
||||
public class GetBannerImageResponse
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// HTTP response content type for this operation
|
||||
/// </summary>
|
||||
public string? ContentType { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// HTTP response status code for this operation
|
||||
/// </summary>
|
||||
public int StatusCode { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// Raw HTTP response; suitable for custom response parsing
|
||||
/// </summary>
|
||||
public HttpResponseMessage RawResponse { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// Successful response returning an image
|
||||
/// </summary>
|
||||
public byte[]? Bytes { get; set; }
|
||||
|
||||
public Dictionary<string, List<string>> Headers { get; set; } = default!;
|
||||
}
|
||||
}
|
||||
@@ -12,7 +12,7 @@ namespace PlexAPI.Models.Requests
|
||||
using Newtonsoft.Json;
|
||||
using PlexAPI.Utils;
|
||||
|
||||
public class GetLibraryDirectory
|
||||
public class GetLibraryDetailsDirectory
|
||||
{
|
||||
|
||||
[JsonProperty("key")]
|
||||
@@ -12,7 +12,7 @@ namespace PlexAPI.Models.Requests
|
||||
using Newtonsoft.Json;
|
||||
using PlexAPI.Utils;
|
||||
|
||||
public class GetLibraryFilter
|
||||
public class GetLibraryDetailsFilter
|
||||
{
|
||||
|
||||
[JsonProperty("filter")]
|
||||
@@ -14,7 +14,7 @@ namespace PlexAPI.Models.Requests
|
||||
using PlexAPI.Utils;
|
||||
using System.Collections.Generic;
|
||||
|
||||
public class GetLibraryMediaContainer
|
||||
public class GetLibraryDetailsMediaContainer
|
||||
{
|
||||
|
||||
[JsonProperty("size")]
|
||||
@@ -54,10 +54,10 @@ namespace PlexAPI.Models.Requests
|
||||
public int? ViewMode { get; set; }
|
||||
|
||||
[JsonProperty("Directory")]
|
||||
public List<GetLibraryDirectory>? Directory { get; set; }
|
||||
public List<GetLibraryDetailsDirectory>? Directory { get; set; }
|
||||
|
||||
[JsonProperty("Type")]
|
||||
public List<GetLibraryType>? Type { get; set; }
|
||||
public List<GetLibraryDetailsType>? Type { get; set; }
|
||||
|
||||
[JsonProperty("FieldType")]
|
||||
public List<FieldType>? FieldType { get; set; }
|
||||
@@ -12,14 +12,19 @@ namespace PlexAPI.Models.Requests
|
||||
using PlexAPI.Models.Requests;
|
||||
using PlexAPI.Utils;
|
||||
|
||||
public class GetLibraryRequest
|
||||
public class GetLibraryDetailsRequest
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// the Id of the library to query
|
||||
/// The unique key of the Plex library. <br/>
|
||||
///
|
||||
/// <remarks>
|
||||
/// Note: This is unique in the context of the Plex server.<br/>
|
||||
///
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
[SpeakeasyMetadata("pathParam:style=simple,explode=false,name=sectionId")]
|
||||
public double SectionId { get; set; } = default!;
|
||||
[SpeakeasyMetadata("pathParam:style=simple,explode=false,name=sectionKey")]
|
||||
public int SectionKey { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// Whether or not to include details for a section (types, filters, and sorts). <br/>
|
||||
@@ -14,7 +14,7 @@ namespace PlexAPI.Models.Requests
|
||||
using System.Net.Http;
|
||||
using System;
|
||||
|
||||
public class GetLibraryResponse
|
||||
public class GetLibraryDetailsResponse
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
@@ -35,6 +35,6 @@ namespace PlexAPI.Models.Requests
|
||||
/// <summary>
|
||||
/// The details of the library
|
||||
/// </summary>
|
||||
public Models.Requests.GetLibraryResponseBody? Object { get; set; }
|
||||
public Models.Requests.GetLibraryDetailsResponseBody? Object { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -16,10 +16,10 @@ namespace PlexAPI.Models.Requests
|
||||
/// <summary>
|
||||
/// The details of the library
|
||||
/// </summary>
|
||||
public class GetLibraryResponseBody
|
||||
public class GetLibraryDetailsResponseBody
|
||||
{
|
||||
|
||||
[JsonProperty("MediaContainer")]
|
||||
public GetLibraryMediaContainer? MediaContainer { get; set; }
|
||||
public GetLibraryDetailsMediaContainer? MediaContainer { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -14,7 +14,7 @@ namespace PlexAPI.Models.Requests
|
||||
using PlexAPI.Utils;
|
||||
using System.Collections.Generic;
|
||||
|
||||
public class GetLibraryType
|
||||
public class GetLibraryDetailsType
|
||||
{
|
||||
|
||||
[JsonProperty("key")]
|
||||
@@ -30,7 +30,7 @@ namespace PlexAPI.Models.Requests
|
||||
public bool? Active { get; set; }
|
||||
|
||||
[JsonProperty("Filter")]
|
||||
public List<GetLibraryFilter>? Filter { get; set; }
|
||||
public List<GetLibraryDetailsFilter>? Filter { get; set; }
|
||||
|
||||
[JsonProperty("Sort")]
|
||||
public List<Sort>? Sort { get; set; }
|
||||
@@ -16,10 +16,15 @@ namespace PlexAPI.Models.Requests
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// the Id of the library to query
|
||||
/// The unique key of the Plex library. <br/>
|
||||
///
|
||||
/// <remarks>
|
||||
/// Note: This is unique in the context of the Plex server.<br/>
|
||||
///
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
[SpeakeasyMetadata("pathParam:style=simple,explode=false,name=sectionId")]
|
||||
public object SectionId { get; set; } = default!;
|
||||
[SpeakeasyMetadata("pathParam:style=simple,explode=false,name=sectionKey")]
|
||||
public int SectionKey { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// A key representing a specific tag within the section.
|
||||
@@ -27,6 +32,21 @@ namespace PlexAPI.Models.Requests
|
||||
[SpeakeasyMetadata("pathParam:style=simple,explode=false,name=tag")]
|
||||
public Tag Tag { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// The type of media to retrieve.<br/>
|
||||
///
|
||||
/// <remarks>
|
||||
/// 1 = movie<br/>
|
||||
/// 2 = show<br/>
|
||||
/// 3 = season<br/>
|
||||
/// 4 = episode<br/>
|
||||
/// E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries<br/>
|
||||
///
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=type")]
|
||||
public Models.Requests.Type Type { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// Adds the Guids object to the response<br/>
|
||||
///
|
||||
@@ -35,6 +55,40 @@ namespace PlexAPI.Models.Requests
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=includeGuids")]
|
||||
public long? IncludeGuids { get; set; }
|
||||
public IncludeGuids? IncludeGuids { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Adds the Meta object to the response<br/>
|
||||
///
|
||||
/// <remarks>
|
||||
///
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=includeMeta")]
|
||||
public IncludeMeta? IncludeMeta { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// The index of the first item to return. If not specified, the first item will be returned.<br/>
|
||||
///
|
||||
/// <remarks>
|
||||
/// If the number of items exceeds the limit, the response will be paginated.<br/>
|
||||
/// By default this is 0<br/>
|
||||
///
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=X-Plex-Container-Start")]
|
||||
public int? XPlexContainerStart { get; set; } = 0;
|
||||
|
||||
/// <summary>
|
||||
/// The number of items to return. If not specified, all items will be returned.<br/>
|
||||
///
|
||||
/// <remarks>
|
||||
/// If the number of items exceeds the limit, the response will be paginated.<br/>
|
||||
/// By default this is 50<br/>
|
||||
///
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=X-Plex-Container-Size")]
|
||||
public int? XPlexContainerSize { get; set; } = 50;
|
||||
}
|
||||
}
|
||||
62
PlexAPI/Models/Requests/GetMediaProvidersDirectory.cs
Normal file
62
PlexAPI/Models/Requests/GetMediaProvidersDirectory.cs
Normal file
@@ -0,0 +1,62 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// 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.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
#nullable enable
|
||||
namespace PlexAPI.Models.Requests
|
||||
{
|
||||
using Newtonsoft.Json;
|
||||
using PlexAPI.Models.Requests;
|
||||
using PlexAPI.Utils;
|
||||
using System.Collections.Generic;
|
||||
|
||||
public class GetMediaProvidersDirectory
|
||||
{
|
||||
|
||||
[JsonProperty("hubKey")]
|
||||
public string? HubKey { get; set; }
|
||||
|
||||
[JsonProperty("title")]
|
||||
public string? Title { get; set; }
|
||||
|
||||
[JsonProperty("agent")]
|
||||
public string? Agent { get; set; }
|
||||
|
||||
[JsonProperty("language")]
|
||||
public string? Language { get; set; }
|
||||
|
||||
[JsonProperty("refreshing")]
|
||||
public bool? Refreshing { get; set; }
|
||||
|
||||
[JsonProperty("scanner")]
|
||||
public string? Scanner { get; set; }
|
||||
|
||||
[JsonProperty("uuid")]
|
||||
public string? Uuid { get; set; }
|
||||
|
||||
[JsonProperty("id")]
|
||||
public string? Id { get; set; }
|
||||
|
||||
[JsonProperty("key")]
|
||||
public string? Key { get; set; }
|
||||
|
||||
[JsonProperty("type")]
|
||||
public string? Type { get; set; }
|
||||
|
||||
[JsonProperty("subtype")]
|
||||
public string? Subtype { get; set; }
|
||||
|
||||
[JsonProperty("updatedAt")]
|
||||
public long? UpdatedAt { get; set; }
|
||||
|
||||
[JsonProperty("scannedAt")]
|
||||
public long? ScannedAt { get; set; }
|
||||
|
||||
[JsonProperty("Pivot")]
|
||||
public List<Pivot>? Pivot { get; set; }
|
||||
}
|
||||
}
|
||||
152
PlexAPI/Models/Requests/GetMediaProvidersMediaContainer.cs
Normal file
152
PlexAPI/Models/Requests/GetMediaProvidersMediaContainer.cs
Normal file
@@ -0,0 +1,152 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// 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.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
#nullable enable
|
||||
namespace PlexAPI.Models.Requests
|
||||
{
|
||||
using Newtonsoft.Json;
|
||||
using PlexAPI.Models.Requests;
|
||||
using PlexAPI.Utils;
|
||||
using System.Collections.Generic;
|
||||
|
||||
public class GetMediaProvidersMediaContainer
|
||||
{
|
||||
|
||||
[JsonProperty("size")]
|
||||
public long? Size { get; set; }
|
||||
|
||||
[JsonProperty("allowCameraUpload")]
|
||||
public bool? AllowCameraUpload { get; set; }
|
||||
|
||||
[JsonProperty("allowChannelAccess")]
|
||||
public bool? AllowChannelAccess { get; set; }
|
||||
|
||||
[JsonProperty("allowSharing")]
|
||||
public bool? AllowSharing { get; set; }
|
||||
|
||||
[JsonProperty("allowSync")]
|
||||
public bool? AllowSync { get; set; }
|
||||
|
||||
[JsonProperty("allowTuners")]
|
||||
public bool? AllowTuners { get; set; }
|
||||
|
||||
[JsonProperty("backgroundProcessing")]
|
||||
public bool? BackgroundProcessing { get; set; }
|
||||
|
||||
[JsonProperty("certificate")]
|
||||
public bool? Certificate { get; set; }
|
||||
|
||||
[JsonProperty("companionProxy")]
|
||||
public bool? CompanionProxy { get; set; }
|
||||
|
||||
[JsonProperty("countryCode")]
|
||||
public string? CountryCode { get; set; }
|
||||
|
||||
[JsonProperty("diagnostics")]
|
||||
public string? Diagnostics { get; set; }
|
||||
|
||||
[JsonProperty("eventStream")]
|
||||
public bool? EventStream { get; set; }
|
||||
|
||||
[JsonProperty("friendlyName")]
|
||||
public string? FriendlyName { get; set; }
|
||||
|
||||
[JsonProperty("livetv")]
|
||||
public long? Livetv { get; set; }
|
||||
|
||||
[JsonProperty("machineIdentifier")]
|
||||
public string? MachineIdentifier { get; set; }
|
||||
|
||||
[JsonProperty("musicAnalysis")]
|
||||
public long? MusicAnalysis { get; set; }
|
||||
|
||||
[JsonProperty("myPlex")]
|
||||
public bool? MyPlex { get; set; }
|
||||
|
||||
[JsonProperty("myPlexMappingState")]
|
||||
public string? MyPlexMappingState { get; set; }
|
||||
|
||||
[JsonProperty("myPlexSigninState")]
|
||||
public string? MyPlexSigninState { get; set; }
|
||||
|
||||
[JsonProperty("myPlexSubscription")]
|
||||
public bool? MyPlexSubscription { get; set; }
|
||||
|
||||
[JsonProperty("myPlexUsername")]
|
||||
public string? MyPlexUsername { get; set; }
|
||||
|
||||
[JsonProperty("offlineTranscode")]
|
||||
public long? OfflineTranscode { get; set; }
|
||||
|
||||
[JsonProperty("ownerFeatures")]
|
||||
public string? OwnerFeatures { get; set; }
|
||||
|
||||
[JsonProperty("platform")]
|
||||
public string? Platform { get; set; }
|
||||
|
||||
[JsonProperty("platformVersion")]
|
||||
public string? PlatformVersion { get; set; }
|
||||
|
||||
[JsonProperty("pluginHost")]
|
||||
public bool? PluginHost { get; set; }
|
||||
|
||||
[JsonProperty("pushNotifications")]
|
||||
public bool? PushNotifications { get; set; }
|
||||
|
||||
[JsonProperty("readOnlyLibraries")]
|
||||
public bool? ReadOnlyLibraries { get; set; }
|
||||
|
||||
[JsonProperty("streamingBrainABRVersion")]
|
||||
public long? StreamingBrainABRVersion { get; set; }
|
||||
|
||||
[JsonProperty("streamingBrainVersion")]
|
||||
public long? StreamingBrainVersion { get; set; }
|
||||
|
||||
[JsonProperty("sync")]
|
||||
public bool? Sync { get; set; }
|
||||
|
||||
[JsonProperty("transcoderActiveVideoSessions")]
|
||||
public long? TranscoderActiveVideoSessions { get; set; }
|
||||
|
||||
[JsonProperty("transcoderAudio")]
|
||||
public bool? TranscoderAudio { get; set; }
|
||||
|
||||
[JsonProperty("transcoderLyrics")]
|
||||
public bool? TranscoderLyrics { get; set; }
|
||||
|
||||
[JsonProperty("transcoderSubtitles")]
|
||||
public bool? TranscoderSubtitles { get; set; }
|
||||
|
||||
[JsonProperty("transcoderVideo")]
|
||||
public bool? TranscoderVideo { get; set; }
|
||||
|
||||
[JsonProperty("transcoderVideoBitrates")]
|
||||
public string? TranscoderVideoBitrates { get; set; }
|
||||
|
||||
[JsonProperty("transcoderVideoQualities")]
|
||||
public string? TranscoderVideoQualities { get; set; }
|
||||
|
||||
[JsonProperty("transcoderVideoResolutions")]
|
||||
public string? TranscoderVideoResolutions { get; set; }
|
||||
|
||||
[JsonProperty("updatedAt")]
|
||||
public long? UpdatedAt { get; set; }
|
||||
|
||||
[JsonProperty("updater")]
|
||||
public bool? Updater { get; set; }
|
||||
|
||||
[JsonProperty("version")]
|
||||
public string? Version { get; set; }
|
||||
|
||||
[JsonProperty("voiceSearch")]
|
||||
public bool? VoiceSearch { get; set; }
|
||||
|
||||
[JsonProperty("MediaProvider")]
|
||||
public List<MediaProvider>? MediaProvider { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -11,13 +11,13 @@ namespace PlexAPI.Models.Requests
|
||||
{
|
||||
using PlexAPI.Utils;
|
||||
|
||||
public class RefreshLibraryRequest
|
||||
public class GetMediaProvidersRequest
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// the Id of the library to refresh
|
||||
/// Plex Authentication Token
|
||||
/// </summary>
|
||||
[SpeakeasyMetadata("pathParam:style=simple,explode=false,name=sectionId")]
|
||||
public double SectionId { get; set; } = default!;
|
||||
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=X-Plex-Token")]
|
||||
public string XPlexToken { get; set; } = default!;
|
||||
}
|
||||
}
|
||||
40
PlexAPI/Models/Requests/GetMediaProvidersResponse.cs
Normal file
40
PlexAPI/Models/Requests/GetMediaProvidersResponse.cs
Normal file
@@ -0,0 +1,40 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// 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.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
#nullable enable
|
||||
namespace PlexAPI.Models.Requests
|
||||
{
|
||||
using PlexAPI.Models.Requests;
|
||||
using PlexAPI.Utils;
|
||||
using System.Net.Http;
|
||||
using System;
|
||||
|
||||
public class GetMediaProvidersResponse
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// HTTP response content type for this operation
|
||||
/// </summary>
|
||||
public string? ContentType { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// HTTP response status code for this operation
|
||||
/// </summary>
|
||||
public int StatusCode { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// Raw HTTP response; suitable for custom response parsing
|
||||
/// </summary>
|
||||
public HttpResponseMessage RawResponse { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// Media providers and their features
|
||||
/// </summary>
|
||||
public Models.Requests.GetMediaProvidersResponseBody? Object { get; set; }
|
||||
}
|
||||
}
|
||||
25
PlexAPI/Models/Requests/GetMediaProvidersResponseBody.cs
Normal file
25
PlexAPI/Models/Requests/GetMediaProvidersResponseBody.cs
Normal file
@@ -0,0 +1,25 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// 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.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
#nullable enable
|
||||
namespace PlexAPI.Models.Requests
|
||||
{
|
||||
using Newtonsoft.Json;
|
||||
using PlexAPI.Models.Requests;
|
||||
using PlexAPI.Utils;
|
||||
|
||||
/// <summary>
|
||||
/// Media providers and their features
|
||||
/// </summary>
|
||||
public class GetMediaProvidersResponseBody
|
||||
{
|
||||
|
||||
[JsonProperty("MediaContainer")]
|
||||
public GetMediaProvidersMediaContainer? MediaContainer { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -12,7 +12,7 @@ namespace PlexAPI.Models.Requests
|
||||
using Newtonsoft.Json;
|
||||
using PlexAPI.Utils;
|
||||
|
||||
public class GetMetadataCountry
|
||||
public class GetMetaDataByRatingKeyCountry
|
||||
{
|
||||
|
||||
[JsonProperty("id")]
|
||||
@@ -12,7 +12,7 @@ namespace PlexAPI.Models.Requests
|
||||
using Newtonsoft.Json;
|
||||
using PlexAPI.Utils;
|
||||
|
||||
public class GetMetadataDirector
|
||||
public class GetMetaDataByRatingKeyDirector
|
||||
{
|
||||
|
||||
[JsonProperty("id")]
|
||||
@@ -12,7 +12,7 @@ namespace PlexAPI.Models.Requests
|
||||
using Newtonsoft.Json;
|
||||
using PlexAPI.Utils;
|
||||
|
||||
public class GetMetadataGenre
|
||||
public class GetMetaDataByRatingKeyGenre
|
||||
{
|
||||
|
||||
[JsonProperty("id")]
|
||||
@@ -14,7 +14,7 @@ namespace PlexAPI.Models.Requests
|
||||
using PlexAPI.Utils;
|
||||
using System.Collections.Generic;
|
||||
|
||||
public class GetMetadataMedia
|
||||
public class GetMetaDataByRatingKeyMedia
|
||||
{
|
||||
|
||||
[JsonProperty("id")]
|
||||
@@ -66,6 +66,6 @@ namespace PlexAPI.Models.Requests
|
||||
public string? VideoProfile { get; set; }
|
||||
|
||||
[JsonProperty("Part")]
|
||||
public List<GetMetadataPart>? Part { get; set; }
|
||||
public List<GetMetaDataByRatingKeyPart>? Part { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -14,7 +14,7 @@ namespace PlexAPI.Models.Requests
|
||||
using PlexAPI.Utils;
|
||||
using System.Collections.Generic;
|
||||
|
||||
public class GetMetadataMediaContainer
|
||||
public class GetMetaDataByRatingKeyMediaContainer
|
||||
{
|
||||
|
||||
[JsonProperty("size")]
|
||||
@@ -42,6 +42,6 @@ namespace PlexAPI.Models.Requests
|
||||
public int? MediaTagVersion { get; set; }
|
||||
|
||||
[JsonProperty("Metadata")]
|
||||
public List<GetMetadataMetadata>? Metadata { get; set; }
|
||||
public List<GetMetaDataByRatingKeyMetadata>? Metadata { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -15,7 +15,7 @@ namespace PlexAPI.Models.Requests
|
||||
using PlexAPI.Utils;
|
||||
using System.Collections.Generic;
|
||||
|
||||
public class GetMetadataMetadata
|
||||
public class GetMetaDataByRatingKeyMetadata
|
||||
{
|
||||
|
||||
[JsonProperty("ratingKey")]
|
||||
@@ -91,13 +91,13 @@ namespace PlexAPI.Models.Requests
|
||||
public string? RatingImage { get; set; }
|
||||
|
||||
[JsonProperty("Media")]
|
||||
public List<GetMetadataMedia>? Media { get; set; }
|
||||
public List<GetMetaDataByRatingKeyMedia>? Media { get; set; }
|
||||
|
||||
[JsonProperty("Genre")]
|
||||
public List<GetMetadataGenre>? Genre { get; set; }
|
||||
public List<GetMetaDataByRatingKeyGenre>? Genre { get; set; }
|
||||
|
||||
[JsonProperty("Country")]
|
||||
public List<GetMetadataCountry>? Country { get; set; }
|
||||
public List<GetMetaDataByRatingKeyCountry>? Country { get; set; }
|
||||
|
||||
[JsonProperty("Guid")]
|
||||
public List<Guids>? Guids { get; set; }
|
||||
@@ -106,13 +106,13 @@ namespace PlexAPI.Models.Requests
|
||||
public List<Ratings>? Ratings { get; set; }
|
||||
|
||||
[JsonProperty("Director")]
|
||||
public List<GetMetadataDirector>? Director { get; set; }
|
||||
public List<GetMetaDataByRatingKeyDirector>? Director { get; set; }
|
||||
|
||||
[JsonProperty("Writer")]
|
||||
public List<GetMetadataWriter>? Writer { get; set; }
|
||||
public List<GetMetaDataByRatingKeyWriter>? Writer { get; set; }
|
||||
|
||||
[JsonProperty("Role")]
|
||||
public List<GetMetadataRole>? Role { get; set; }
|
||||
public List<GetMetaDataByRatingKeyRole>? Role { get; set; }
|
||||
|
||||
[JsonProperty("Producer")]
|
||||
public List<Producer>? Producer { get; set; }
|
||||
@@ -14,7 +14,7 @@ namespace PlexAPI.Models.Requests
|
||||
using PlexAPI.Utils;
|
||||
using System.Collections.Generic;
|
||||
|
||||
public class GetMetadataPart
|
||||
public class GetMetaDataByRatingKeyPart
|
||||
{
|
||||
|
||||
[JsonProperty("id")]
|
||||
@@ -11,13 +11,13 @@ namespace PlexAPI.Models.Requests
|
||||
{
|
||||
using PlexAPI.Utils;
|
||||
|
||||
public class GetMetadataRequest
|
||||
public class GetMetaDataByRatingKeyRequest
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// the id of the library item to return the children of.
|
||||
/// </summary>
|
||||
[SpeakeasyMetadata("pathParam:style=simple,explode=false,name=ratingKey")]
|
||||
public double RatingKey { get; set; } = default!;
|
||||
public long RatingKey { get; set; } = default!;
|
||||
}
|
||||
}
|
||||
@@ -14,7 +14,7 @@ namespace PlexAPI.Models.Requests
|
||||
using System.Net.Http;
|
||||
using System;
|
||||
|
||||
public class GetMetadataResponse
|
||||
public class GetMetaDataByRatingKeyResponse
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
@@ -35,6 +35,6 @@ namespace PlexAPI.Models.Requests
|
||||
/// <summary>
|
||||
/// The metadata of the library item.
|
||||
/// </summary>
|
||||
public Models.Requests.GetMetadataResponseBody? Object { get; set; }
|
||||
public Models.Requests.GetMetaDataByRatingKeyResponseBody? Object { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -16,10 +16,10 @@ namespace PlexAPI.Models.Requests
|
||||
/// <summary>
|
||||
/// The metadata of the library item.
|
||||
/// </summary>
|
||||
public class GetMetadataResponseBody
|
||||
public class GetMetaDataByRatingKeyResponseBody
|
||||
{
|
||||
|
||||
[JsonProperty("MediaContainer")]
|
||||
public GetMetadataMediaContainer? MediaContainer { get; set; }
|
||||
public GetMetaDataByRatingKeyMediaContainer? MediaContainer { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -12,7 +12,7 @@ namespace PlexAPI.Models.Requests
|
||||
using Newtonsoft.Json;
|
||||
using PlexAPI.Utils;
|
||||
|
||||
public class GetMetadataRole
|
||||
public class GetMetaDataByRatingKeyRole
|
||||
{
|
||||
|
||||
[JsonProperty("id")]
|
||||
@@ -12,7 +12,7 @@ namespace PlexAPI.Models.Requests
|
||||
using Newtonsoft.Json;
|
||||
using PlexAPI.Utils;
|
||||
|
||||
public class GetMetadataWriter
|
||||
public class GetMetaDataByRatingKeyWriter
|
||||
{
|
||||
|
||||
[JsonProperty("id")]
|
||||
@@ -14,16 +14,6 @@ namespace PlexAPI.Models.Requests
|
||||
public class GetPinRequest
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// Product name of the application shown in the list of devices<br/>
|
||||
///
|
||||
/// <remarks>
|
||||
///
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Product")]
|
||||
public string XPlexProduct { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// Determines the kind of code returned by the API call<br/>
|
||||
///
|
||||
@@ -45,7 +35,10 @@ namespace PlexAPI.Models.Requests
|
||||
///
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Client-Identifier")]
|
||||
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=X-Plex-Client-Identifier")]
|
||||
public string? XPlexClientIdentifier { get; set; }
|
||||
|
||||
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=X-Plex-Product")]
|
||||
public string? XPlexProduct { get; set; }
|
||||
}
|
||||
}
|
||||
34
PlexAPI/Models/Requests/GetPlaylistContentsQueryParamType.cs
Normal file
34
PlexAPI/Models/Requests/GetPlaylistContentsQueryParamType.cs
Normal file
@@ -0,0 +1,34 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// 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.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
#nullable enable
|
||||
namespace PlexAPI.Models.Requests
|
||||
{
|
||||
using PlexAPI.Utils;
|
||||
|
||||
/// <summary>
|
||||
/// The type of media to retrieve.<br/>
|
||||
///
|
||||
/// <remarks>
|
||||
/// 1 = movie<br/>
|
||||
/// 2 = show<br/>
|
||||
/// 3 = season<br/>
|
||||
/// 4 = episode<br/>
|
||||
/// E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries<br/>
|
||||
///
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
public enum GetPlaylistContentsQueryParamType
|
||||
{
|
||||
One = 1,
|
||||
Two = 2,
|
||||
Three = 3,
|
||||
Four = 4,
|
||||
}
|
||||
|
||||
}
|
||||
@@ -9,6 +9,7 @@
|
||||
#nullable enable
|
||||
namespace PlexAPI.Models.Requests
|
||||
{
|
||||
using PlexAPI.Models.Requests;
|
||||
using PlexAPI.Utils;
|
||||
|
||||
public class GetPlaylistContentsRequest
|
||||
@@ -21,9 +22,18 @@ namespace PlexAPI.Models.Requests
|
||||
public double PlaylistID { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// the metadata type of the item to return
|
||||
/// The type of media to retrieve.<br/>
|
||||
///
|
||||
/// <remarks>
|
||||
/// 1 = movie<br/>
|
||||
/// 2 = show<br/>
|
||||
/// 3 = season<br/>
|
||||
/// 4 = episode<br/>
|
||||
/// E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries<br/>
|
||||
///
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=type")]
|
||||
public double Type { get; set; } = default!;
|
||||
public GetPlaylistContentsQueryParamType Type { get; set; } = default!;
|
||||
}
|
||||
}
|
||||
41
PlexAPI/Models/Requests/GetRecentlyAddedRequest.cs
Normal file
41
PlexAPI/Models/Requests/GetRecentlyAddedRequest.cs
Normal file
@@ -0,0 +1,41 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// 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.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
#nullable enable
|
||||
namespace PlexAPI.Models.Requests
|
||||
{
|
||||
using PlexAPI.Utils;
|
||||
|
||||
public class GetRecentlyAddedRequest
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// The index of the first item to return. If not specified, the first item will be returned.<br/>
|
||||
///
|
||||
/// <remarks>
|
||||
/// If the number of items exceeds the limit, the response will be paginated.<br/>
|
||||
/// By default this is 0<br/>
|
||||
///
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=X-Plex-Container-Start")]
|
||||
public int? XPlexContainerStart { get; set; } = 0;
|
||||
|
||||
/// <summary>
|
||||
/// The number of items to return. If not specified, all items will be returned.<br/>
|
||||
///
|
||||
/// <remarks>
|
||||
/// If the number of items exceeds the limit, the response will be paginated.<br/>
|
||||
/// By default this is 50<br/>
|
||||
///
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=X-Plex-Container-Size")]
|
||||
public int? XPlexContainerSize { get; set; } = 50;
|
||||
}
|
||||
}
|
||||
@@ -12,19 +12,24 @@ namespace PlexAPI.Models.Requests
|
||||
using PlexAPI.Models.Requests;
|
||||
using PlexAPI.Utils;
|
||||
|
||||
public class SearchLibraryRequest
|
||||
public class GetRefreshLibraryMetadataRequest
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// the Id of the library to query
|
||||
/// The unique key of the Plex library. <br/>
|
||||
///
|
||||
/// <remarks>
|
||||
/// Note: This is unique in the context of the Plex server.<br/>
|
||||
///
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
[SpeakeasyMetadata("pathParam:style=simple,explode=false,name=sectionId")]
|
||||
public long SectionId { get; set; } = default!;
|
||||
[SpeakeasyMetadata("pathParam:style=simple,explode=false,name=sectionKey")]
|
||||
public int SectionKey { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// Plex content type to search for
|
||||
/// Force the refresh even if the library is already being refreshed.
|
||||
/// </summary>
|
||||
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=type")]
|
||||
public Type Type { get; set; } = default!;
|
||||
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=force")]
|
||||
public Force? Force { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -13,7 +13,7 @@ namespace PlexAPI.Models.Requests
|
||||
using System.Net.Http;
|
||||
using System;
|
||||
|
||||
public class RefreshLibraryResponse
|
||||
public class GetRefreshLibraryMetadataResponse
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
@@ -14,7 +14,7 @@ namespace PlexAPI.Models.Requests
|
||||
using PlexAPI.Utils;
|
||||
using System.Collections.Generic;
|
||||
|
||||
public class SearchLibraryMediaContainer
|
||||
public class GetSearchLibraryMediaContainer
|
||||
{
|
||||
|
||||
[JsonProperty("size")]
|
||||
@@ -54,6 +54,6 @@ namespace PlexAPI.Models.Requests
|
||||
public int? ViewMode { get; set; }
|
||||
|
||||
[JsonProperty("Metadata")]
|
||||
public List<SearchLibraryMetadata>? Metadata { get; set; }
|
||||
public List<GetSearchLibraryMetadata>? Metadata { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -12,7 +12,7 @@ namespace PlexAPI.Models.Requests
|
||||
using Newtonsoft.Json;
|
||||
using PlexAPI.Utils;
|
||||
|
||||
public class SearchLibraryMetadata
|
||||
public class GetSearchLibraryMetadata
|
||||
{
|
||||
|
||||
[JsonProperty("ratingKey")]
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user