mirror of
https://github.com/LukeHagar/plexcsharp.git
synced 2025-12-06 04:20:46 +00:00
ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.383.2
This commit is contained in:
@@ -1,12 +1,12 @@
|
||||
lockVersion: 2.0.0
|
||||
id: 5a8dbcbc-e0ee-41f0-9d84-b8b50567d1e9
|
||||
management:
|
||||
docChecksum: 5ae5b1296191bd5cc5d4f6cd38df8bff
|
||||
docChecksum: cd46763b91ada69afbe49fa20517839a
|
||||
docVersion: 0.0.3
|
||||
speakeasyVersion: 1.378.1
|
||||
generationVersion: 2.404.3
|
||||
releaseVersion: 0.4.1
|
||||
configChecksum: c11547fd2dc431993d988a8717e7bfe9
|
||||
speakeasyVersion: 1.383.2
|
||||
generationVersion: 2.407.0
|
||||
releaseVersion: 0.4.2
|
||||
configChecksum: 74b77ec64d814262085e1afc1ea50fbb
|
||||
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
|
||||
@@ -46,7 +46,6 @@ generatedFiles:
|
||||
- PlexAPI/Statistics.cs
|
||||
- PlexAPI/Sessions.cs
|
||||
- PlexAPI/Updater.cs
|
||||
- PlexAPI/User.cs
|
||||
- PlexAPI/Watchlist.cs
|
||||
- PlexAPI/PlexAPISDK.cs
|
||||
- global.json
|
||||
@@ -225,22 +224,22 @@ 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
|
||||
@@ -257,8 +256,9 @@ 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/Force.cs
|
||||
- PlexAPI/Models/Requests/GetRefreshLibraryMetadataRequest.cs
|
||||
- PlexAPI/Models/Requests/GetRefreshLibraryMetadataResponse.cs
|
||||
- PlexAPI/Models/Requests/Type.cs
|
||||
- PlexAPI/Models/Requests/SearchLibraryRequest.cs
|
||||
- PlexAPI/Models/Requests/SearchLibraryMetadata.cs
|
||||
@@ -352,7 +352,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
|
||||
@@ -361,6 +361,30 @@ generatedFiles:
|
||||
- PlexAPI/Models/Requests/GetTransientTokenResponse.cs
|
||||
- PlexAPI/Models/Requests/GetSourceConnectionInformationRequest.cs
|
||||
- PlexAPI/Models/Requests/GetSourceConnectionInformationResponse.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
|
||||
@@ -413,30 +437,6 @@ generatedFiles:
|
||||
- PlexAPI/Models/Requests/Skip.cs
|
||||
- PlexAPI/Models/Requests/ApplyUpdatesRequest.cs
|
||||
- PlexAPI/Models/Requests/ApplyUpdatesResponse.cs
|
||||
- PlexAPI/Models/Requests/PostSignInRequestBody.cs
|
||||
- PlexAPI/Models/Requests/PostSignInRequest.cs
|
||||
- PlexAPI/Models/Requests/PostSignInMailingListStatus.cs
|
||||
- PlexAPI/Models/Requests/PostSignInAutoSelectSubtitle.cs
|
||||
- PlexAPI/Models/Requests/PostSignInDefaultSubtitleAccessibility.cs
|
||||
- PlexAPI/Models/Requests/PostSignInDefaultSubtitleForced.cs
|
||||
- PlexAPI/Models/Requests/PostSignInWatchedIndicator.cs
|
||||
- PlexAPI/Models/Requests/PostSignInMediaReviewsVisibility.cs
|
||||
- PlexAPI/Models/Requests/PostSignInUserProfile.cs
|
||||
- PlexAPI/Models/Requests/PostSignInStatus.cs
|
||||
- PlexAPI/Models/Requests/PostSignInServices.cs
|
||||
- PlexAPI/Models/Requests/PostSignInFeatures.cs
|
||||
- PlexAPI/Models/Requests/PostSignInUserStatus.cs
|
||||
- PlexAPI/Models/Requests/PostSignInSubscription.cs
|
||||
- PlexAPI/Models/Requests/PostSignInUserFeatures.cs
|
||||
- PlexAPI/Models/Requests/PostSignInUserResponseStatus.cs
|
||||
- PlexAPI/Models/Requests/PostSignInUserSubscription.cs
|
||||
- PlexAPI/Models/Requests/PostSignInState.cs
|
||||
- PlexAPI/Models/Requests/InternalPaymentMethod.cs
|
||||
- PlexAPI/Models/Requests/Billing.cs
|
||||
- PlexAPI/Models/Requests/PastSubscription.cs
|
||||
- PlexAPI/Models/Requests/Trials.cs
|
||||
- PlexAPI/Models/Requests/PostSignInUserPlexAccount.cs
|
||||
- PlexAPI/Models/Requests/PostSignInResponse.cs
|
||||
- PlexAPI/Models/Requests/PathParamFilter.cs
|
||||
- PlexAPI/Models/Requests/Libtype.cs
|
||||
- PlexAPI/Models/Requests/IncludeCollections.cs
|
||||
@@ -516,16 +516,16 @@ 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/GetRefreshLibraryMetadataErrors.cs
|
||||
- PlexAPI/Models/Errors/GetRefreshLibraryMetadataResponseBody.cs
|
||||
- PlexAPI/Models/Errors/SearchLibraryErrors.cs
|
||||
- PlexAPI/Models/Errors/SearchLibraryResponseBody.cs
|
||||
- PlexAPI/Models/Errors/GetMetadataErrors.cs
|
||||
@@ -562,6 +562,8 @@ generatedFiles:
|
||||
- PlexAPI/Models/Errors/GetTransientTokenResponseBody.cs
|
||||
- PlexAPI/Models/Errors/GetSourceConnectionInformationErrors.cs
|
||||
- PlexAPI/Models/Errors/GetSourceConnectionInformationResponseBody.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
|
||||
@@ -582,8 +584,6 @@ generatedFiles:
|
||||
- PlexAPI/Models/Errors/CheckForUpdatesResponseBody.cs
|
||||
- PlexAPI/Models/Errors/ApplyUpdatesErrors.cs
|
||||
- PlexAPI/Models/Errors/ApplyUpdatesResponseBody.cs
|
||||
- PlexAPI/Models/Errors/PostSignInErrors.cs
|
||||
- PlexAPI/Models/Errors/PostSignInResponseBody.cs
|
||||
- PlexAPI/Models/Errors/GetWatchlistErrors.cs
|
||||
- PlexAPI/Models/Errors/GetWatchlistResponseBody.cs
|
||||
- PlexAPI/Models/Components/Security.cs
|
||||
@@ -742,22 +742,22 @@ 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
|
||||
@@ -774,8 +774,9 @@ 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/Force.md
|
||||
- docs/Models/Requests/GetRefreshLibraryMetadataRequest.md
|
||||
- docs/Models/Requests/GetRefreshLibraryMetadataResponse.md
|
||||
- docs/Models/Requests/Type.md
|
||||
- docs/Models/Requests/SearchLibraryRequest.md
|
||||
- docs/Models/Requests/SearchLibraryMetadata.md
|
||||
@@ -869,7 +870,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
|
||||
@@ -878,6 +879,30 @@ generatedFiles:
|
||||
- docs/Models/Requests/GetTransientTokenResponse.md
|
||||
- docs/Models/Requests/GetSourceConnectionInformationRequest.md
|
||||
- docs/Models/Requests/GetSourceConnectionInformationResponse.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
|
||||
@@ -930,30 +955,6 @@ generatedFiles:
|
||||
- docs/Models/Requests/Skip.md
|
||||
- docs/Models/Requests/ApplyUpdatesRequest.md
|
||||
- docs/Models/Requests/ApplyUpdatesResponse.md
|
||||
- docs/Models/Requests/PostSignInRequestBody.md
|
||||
- docs/Models/Requests/PostSignInRequest.md
|
||||
- docs/Models/Requests/PostSignInMailingListStatus.md
|
||||
- docs/Models/Requests/PostSignInAutoSelectSubtitle.md
|
||||
- docs/Models/Requests/PostSignInDefaultSubtitleAccessibility.md
|
||||
- docs/Models/Requests/PostSignInDefaultSubtitleForced.md
|
||||
- docs/Models/Requests/PostSignInWatchedIndicator.md
|
||||
- docs/Models/Requests/PostSignInMediaReviewsVisibility.md
|
||||
- docs/Models/Requests/PostSignInUserProfile.md
|
||||
- docs/Models/Requests/PostSignInStatus.md
|
||||
- docs/Models/Requests/PostSignInServices.md
|
||||
- docs/Models/Requests/PostSignInFeatures.md
|
||||
- docs/Models/Requests/PostSignInUserStatus.md
|
||||
- docs/Models/Requests/PostSignInSubscription.md
|
||||
- docs/Models/Requests/PostSignInUserFeatures.md
|
||||
- docs/Models/Requests/PostSignInUserResponseStatus.md
|
||||
- docs/Models/Requests/PostSignInUserSubscription.md
|
||||
- docs/Models/Requests/PostSignInState.md
|
||||
- docs/Models/Requests/InternalPaymentMethod.md
|
||||
- docs/Models/Requests/Billing.md
|
||||
- docs/Models/Requests/PastSubscription.md
|
||||
- docs/Models/Requests/Trials.md
|
||||
- docs/Models/Requests/PostSignInUserPlexAccount.md
|
||||
- docs/Models/Requests/PostSignInResponse.md
|
||||
- docs/Models/Requests/PathParamFilter.md
|
||||
- docs/Models/Requests/Libtype.md
|
||||
- docs/Models/Requests/IncludeCollections.md
|
||||
@@ -1033,16 +1034,16 @@ 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/GetRefreshLibraryMetadataErrors.md
|
||||
- docs/Models/Errors/GetRefreshLibraryMetadataResponseBody.md
|
||||
- docs/Models/Errors/SearchLibraryErrors.md
|
||||
- docs/Models/Errors/SearchLibraryResponseBody.md
|
||||
- docs/Models/Errors/GetMetadataErrors.md
|
||||
@@ -1079,6 +1080,8 @@ generatedFiles:
|
||||
- docs/Models/Errors/GetTransientTokenResponseBody.md
|
||||
- docs/Models/Errors/GetSourceConnectionInformationErrors.md
|
||||
- docs/Models/Errors/GetSourceConnectionInformationResponseBody.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
|
||||
@@ -1099,8 +1102,6 @@ generatedFiles:
|
||||
- docs/Models/Errors/CheckForUpdatesResponseBody.md
|
||||
- docs/Models/Errors/ApplyUpdatesErrors.md
|
||||
- docs/Models/Errors/ApplyUpdatesResponseBody.md
|
||||
- docs/Models/Errors/PostSignInErrors.md
|
||||
- docs/Models/Errors/PostSignInResponseBody.md
|
||||
- docs/Models/Errors/GetWatchlistErrors.md
|
||||
- docs/Models/Errors/GetWatchlistResponseBody.md
|
||||
- docs/Models/Components/Security.md
|
||||
@@ -1120,7 +1121,6 @@ generatedFiles:
|
||||
- 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
|
||||
|
||||
@@ -12,7 +12,7 @@ generation:
|
||||
auth:
|
||||
oAuth2ClientCredentialsEnabled: true
|
||||
csharp:
|
||||
version: 0.4.1
|
||||
version: 0.4.2
|
||||
additionalDependencies: []
|
||||
author: LukeHagar
|
||||
clientServerStatusCodesAsErrors: true
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
speakeasyVersion: 1.321.0
|
||||
speakeasyVersion: 1.383.2
|
||||
sources:
|
||||
my-source:
|
||||
sourceNamespace: my-source
|
||||
sourceRevisionDigest: sha256:f9e2111241453dcdf0c358ee4cc67c2da25786065dfce0778c51e357cca85470
|
||||
sourceBlobDigest: sha256:5ebcd8b28a73ab3b3265a5e7a7c43136d2eeccb8fd62f2db4e7aacf3e3e3d2ce
|
||||
sourceRevisionDigest: sha256:c6e5a38f9c953eb820ac1b5cb6d5aade8ee11a7bdb5b568147fd677d61b3a3c5
|
||||
sourceBlobDigest: sha256:730391fe626304e22e265f9470902fc083d5e6110d20d87cdc3ac7da6b4982de
|
||||
tags:
|
||||
- latest
|
||||
- main
|
||||
@@ -11,8 +11,8 @@ targets:
|
||||
plexcsharp:
|
||||
source: my-source
|
||||
sourceNamespace: my-source
|
||||
sourceRevisionDigest: sha256:f9e2111241453dcdf0c358ee4cc67c2da25786065dfce0778c51e357cca85470
|
||||
sourceBlobDigest: sha256:5ebcd8b28a73ab3b3265a5e7a7c43136d2eeccb8fd62f2db4e7aacf3e3e3d2ce
|
||||
sourceRevisionDigest: sha256:c6e5a38f9c953eb820ac1b5cb6d5aade8ee11a7bdb5b568147fd677d61b3a3c5
|
||||
sourceBlobDigest: sha256:730391fe626304e22e265f9470902fc083d5e6110d20d87cdc3ac7da6b4982de
|
||||
outLocation: /github/workspace/repo
|
||||
workflow:
|
||||
workflowVersion: 1.0.0
|
||||
|
||||
14
NUGET.md
14
NUGET.md
@@ -12,7 +12,8 @@ using PlexAPI.Models.Components;
|
||||
|
||||
var sdk = new PlexAPISDK(
|
||||
accessToken: "<YOUR_API_KEY_HERE>",
|
||||
xPlexClientIdentifier: "Postman");
|
||||
xPlexClientIdentifier: "Postman"
|
||||
);
|
||||
|
||||
var res = await sdk.Server.GetServerCapabilitiesAsync();
|
||||
|
||||
@@ -40,11 +41,13 @@ using PlexAPI.Models.Errors;
|
||||
|
||||
var sdk = new PlexAPISDK(
|
||||
accessToken: "<YOUR_API_KEY_HERE>",
|
||||
xPlexClientIdentifier: "Postman");
|
||||
xPlexClientIdentifier: "Postman"
|
||||
);
|
||||
|
||||
try
|
||||
{
|
||||
var res = await sdk.Server.GetServerCapabilitiesAsync();
|
||||
|
||||
// handle response
|
||||
}
|
||||
catch (Exception ex)
|
||||
@@ -58,7 +61,6 @@ catch (Exception ex)
|
||||
// handle exception
|
||||
}
|
||||
}
|
||||
|
||||
```
|
||||
<!-- End Error Handling [errors] -->
|
||||
|
||||
@@ -96,7 +98,8 @@ using PlexAPI.Models.Components;
|
||||
|
||||
var sdk = new PlexAPISDK(
|
||||
accessToken: "<YOUR_API_KEY_HERE>",
|
||||
xPlexClientIdentifier: "Postman");
|
||||
xPlexClientIdentifier: "Postman"
|
||||
);
|
||||
|
||||
var res = await sdk.Plex.GetCompanionsDataAsync(serverUrl: "https://plex.tv/api/v2");
|
||||
|
||||
@@ -122,7 +125,8 @@ using PlexAPI.Models.Components;
|
||||
|
||||
var sdk = new PlexAPISDK(
|
||||
accessToken: "<YOUR_API_KEY_HERE>",
|
||||
xPlexClientIdentifier: "Postman");
|
||||
xPlexClientIdentifier: "Postman"
|
||||
);
|
||||
|
||||
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.1";
|
||||
private const string _sdkGenVersion = "2.404.3";
|
||||
private const string _sdkVersion = "0.4.2";
|
||||
private const string _sdkGenVersion = "2.407.0";
|
||||
private const string _openapiDocVersion = "0.0.3";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.4.1 2.404.3 0.0.3 PlexAPI";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.4.2 2.407.0 0.0.3 PlexAPI";
|
||||
private string _serverUrl = "";
|
||||
private ISpeakeasyHttpClient _client;
|
||||
private Func<PlexAPI.Models.Components.Security>? _securitySource;
|
||||
|
||||
@@ -52,6 +52,15 @@ namespace PlexAPI
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<GetSourceConnectionInformationResponse> GetSourceConnectionInformationAsync(string source);
|
||||
|
||||
/// <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 +72,18 @@ namespace PlexAPI
|
||||
/// </summary>
|
||||
public class Authentication: IAuthentication
|
||||
{
|
||||
/// <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.1";
|
||||
private const string _sdkGenVersion = "2.404.3";
|
||||
private const string _sdkVersion = "0.4.2";
|
||||
private const string _sdkGenVersion = "2.407.0";
|
||||
private const string _openapiDocVersion = "0.0.3";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.4.1 2.404.3 0.0.3 PlexAPI";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.4.2 2.407.0 0.0.3 PlexAPI";
|
||||
private string _serverUrl = "";
|
||||
private ISpeakeasyHttpClient _client;
|
||||
private Func<PlexAPI.Models.Components.Security>? _securitySource;
|
||||
@@ -251,5 +266,111 @@ namespace PlexAPI
|
||||
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 = baseUrl + "/users/signin";
|
||||
|
||||
var httpRequest = new HttpRequestMessage(HttpMethod.Post, urlString);
|
||||
httpRequest.Headers.Add("user-agent", _userAgent);
|
||||
HeaderSerializer.PopulateHeaders(ref httpRequest, request);
|
||||
|
||||
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.1";
|
||||
private const string _sdkGenVersion = "2.404.3";
|
||||
private const string _sdkVersion = "0.4.2";
|
||||
private const string _sdkGenVersion = "2.407.0";
|
||||
private const string _openapiDocVersion = "0.0.3";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.4.1 2.404.3 0.0.3 PlexAPI";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.4.2 2.407.0 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.1";
|
||||
private const string _sdkGenVersion = "2.404.3";
|
||||
private const string _sdkVersion = "0.4.2";
|
||||
private const string _sdkGenVersion = "2.407.0";
|
||||
private const string _openapiDocVersion = "0.0.3";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.4.1 2.404.3 0.0.3 PlexAPI";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.4.2 2.407.0 0.0.3 PlexAPI";
|
||||
private string _serverUrl = "";
|
||||
private ISpeakeasyHttpClient _client;
|
||||
private Func<PlexAPI.Models.Components.Security>? _securitySource;
|
||||
|
||||
@@ -64,7 +64,7 @@ namespace PlexAPI
|
||||
///
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<GetLibrariesResponse> GetLibrariesAsync();
|
||||
Task<GetAllLibrariesResponse> GetAllLibrariesAsync();
|
||||
|
||||
/// <summary>
|
||||
/// Get Library Details
|
||||
@@ -112,13 +112,13 @@ namespace PlexAPI
|
||||
///
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<GetLibraryResponse> GetLibraryAsync(double sectionId, IncludeDetails? includeDetails = null);
|
||||
Task<GetLibraryDetailsResponse> GetLibraryDetailsAsync(double sectionId, 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);
|
||||
@@ -153,14 +153,14 @@ namespace PlexAPI
|
||||
Task<GetLibraryItemsResponse> GetLibraryItemsAsync(object sectionId, Tag tag, long? includeGuids = null);
|
||||
|
||||
/// <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(double sectionId, Force? force = null);
|
||||
|
||||
/// <summary>
|
||||
/// Search Library
|
||||
@@ -187,7 +187,7 @@ namespace PlexAPI
|
||||
///
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<SearchLibraryResponse> SearchLibraryAsync(long sectionId, Type type);
|
||||
Task<SearchLibraryResponse> SearchLibraryAsync(long sectionId, Models.Requests.Type type);
|
||||
|
||||
/// <summary>
|
||||
/// Get Items Metadata
|
||||
@@ -241,10 +241,10 @@ namespace PlexAPI
|
||||
{
|
||||
public SDKConfig SDKConfiguration { get; private set; }
|
||||
private const string _language = "csharp";
|
||||
private const string _sdkVersion = "0.4.1";
|
||||
private const string _sdkGenVersion = "2.404.3";
|
||||
private const string _sdkVersion = "0.4.2";
|
||||
private const string _sdkGenVersion = "2.407.0";
|
||||
private const string _openapiDocVersion = "0.0.3";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.4.1 2.404.3 0.0.3 PlexAPI";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.4.2 2.407.0 0.0.3 PlexAPI";
|
||||
private string _serverUrl = "";
|
||||
private ISpeakeasyHttpClient _client;
|
||||
private Func<PlexAPI.Models.Components.Security>? _securitySource;
|
||||
@@ -435,7 +435,7 @@ namespace PlexAPI
|
||||
}
|
||||
}
|
||||
|
||||
public async Task<GetLibrariesResponse> GetLibrariesAsync()
|
||||
public async Task<GetAllLibrariesResponse> GetAllLibrariesAsync()
|
||||
{
|
||||
string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl();
|
||||
|
||||
@@ -449,7 +449,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 +489,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 +512,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,9 +527,9 @@ namespace PlexAPI
|
||||
}
|
||||
}
|
||||
|
||||
public async Task<GetLibraryResponse> GetLibraryAsync(double sectionId, IncludeDetails? includeDetails = null)
|
||||
public async Task<GetLibraryDetailsResponse> GetLibraryDetailsAsync(double sectionId, IncludeDetails? includeDetails = null)
|
||||
{
|
||||
var request = new GetLibraryRequest()
|
||||
var request = new GetLibraryDetailsRequest()
|
||||
{
|
||||
SectionId = sectionId,
|
||||
IncludeDetails = includeDetails,
|
||||
@@ -545,7 +545,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 +585,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 +608,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!;
|
||||
}
|
||||
@@ -805,11 +805,12 @@ namespace PlexAPI
|
||||
}
|
||||
}
|
||||
|
||||
public async Task<RefreshLibraryResponse> RefreshLibraryAsync(double sectionId)
|
||||
public async Task<GetRefreshLibraryMetadataResponse> GetRefreshLibraryMetadataAsync(double sectionId, Force? force = null)
|
||||
{
|
||||
var request = new RefreshLibraryRequest()
|
||||
var request = new GetRefreshLibraryMetadataRequest()
|
||||
{
|
||||
SectionId = sectionId,
|
||||
Force = force,
|
||||
};
|
||||
string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl();
|
||||
var urlString = URLBuilder.Build(baseUrl, "/library/sections/{sectionId}/refresh", request);
|
||||
@@ -822,7 +823,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 +861,7 @@ namespace PlexAPI
|
||||
int responseStatusCode = (int)httpResponse.StatusCode;
|
||||
if(responseStatusCode == 200)
|
||||
{
|
||||
return new RefreshLibraryResponse()
|
||||
return new GetRefreshLibraryMetadataResponse()
|
||||
{
|
||||
StatusCode = responseStatusCode,
|
||||
ContentType = contentType,
|
||||
@@ -875,7 +876,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,7 +891,7 @@ namespace PlexAPI
|
||||
}
|
||||
}
|
||||
|
||||
public async Task<SearchLibraryResponse> SearchLibraryAsync(long sectionId, Type type)
|
||||
public async Task<SearchLibraryResponse> SearchLibraryAsync(long sectionId, Models.Requests.Type type)
|
||||
{
|
||||
var request = new SearchLibraryRequest()
|
||||
{
|
||||
|
||||
@@ -94,10 +94,10 @@ namespace PlexAPI
|
||||
{
|
||||
public SDKConfig SDKConfiguration { get; private set; }
|
||||
private const string _language = "csharp";
|
||||
private const string _sdkVersion = "0.4.1";
|
||||
private const string _sdkGenVersion = "2.404.3";
|
||||
private const string _sdkVersion = "0.4.2";
|
||||
private const string _sdkGenVersion = "2.407.0";
|
||||
private const string _openapiDocVersion = "0.0.3";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.4.1 2.404.3 0.0.3 PlexAPI";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.4.2 2.407.0 0.0.3 PlexAPI";
|
||||
private string _serverUrl = "";
|
||||
private ISpeakeasyHttpClient _client;
|
||||
private Func<PlexAPI.Models.Components.Security>? _securitySource;
|
||||
|
||||
@@ -72,10 +72,10 @@ namespace PlexAPI
|
||||
{
|
||||
public SDKConfig SDKConfiguration { get; private set; }
|
||||
private const string _language = "csharp";
|
||||
private const string _sdkVersion = "0.4.1";
|
||||
private const string _sdkGenVersion = "2.404.3";
|
||||
private const string _sdkVersion = "0.4.2";
|
||||
private const string _sdkGenVersion = "2.407.0";
|
||||
private const string _openapiDocVersion = "0.0.3";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.4.1 2.404.3 0.0.3 PlexAPI";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.4.2 2.407.0 0.0.3 PlexAPI";
|
||||
private string _serverUrl = "";
|
||||
private ISpeakeasyHttpClient _client;
|
||||
private Func<PlexAPI.Models.Components.Security>? _securitySource;
|
||||
|
||||
@@ -12,7 +12,7 @@ namespace PlexAPI.Models.Errors
|
||||
using Newtonsoft.Json;
|
||||
using PlexAPI.Utils;
|
||||
|
||||
public class GetLibrariesErrors
|
||||
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 PostSignInResponseBody : Exception
|
||||
public class GetAllLibrariesResponseBody : Exception
|
||||
{
|
||||
|
||||
[JsonProperty("errors")]
|
||||
public List<PostSignInErrors>? 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 PostSignInErrors
|
||||
public class GetLibraryDetailsErrors
|
||||
{
|
||||
|
||||
[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 GetLibraryDetailsResponseBody : Exception
|
||||
{
|
||||
|
||||
[JsonProperty("errors")]
|
||||
public List<GetLibrariesErrors>? Errors { get; set; }
|
||||
public List<GetLibraryDetailsErrors>? 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 RefreshLibraryErrors
|
||||
public class GetRefreshLibraryMetadataErrors
|
||||
{
|
||||
|
||||
[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 GetRefreshLibraryMetadataResponseBody : Exception
|
||||
{
|
||||
|
||||
[JsonProperty("errors")]
|
||||
public List<GetLibraryErrors>? Errors { get; set; }
|
||||
public List<GetRefreshLibraryMetadataErrors>? 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 PostUsersSignInDataErrors
|
||||
{
|
||||
|
||||
[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 RefreshLibraryResponseBody : Exception
|
||||
public class PostUsersSignInDataResponseBody : Exception
|
||||
{
|
||||
|
||||
[JsonProperty("errors")]
|
||||
public List<RefreshLibraryErrors>? Errors { get; set; }
|
||||
public List<PostUsersSignInDataErrors>? Errors { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Raw HTTP response; suitable for custom response parsing
|
||||
@@ -15,7 +15,7 @@ namespace PlexAPI.Models.Requests
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// the Id of the library to query
|
||||
/// The id of the library
|
||||
/// </summary>
|
||||
[SpeakeasyMetadata("pathParam:style=simple,explode=false,name=sectionId")]
|
||||
public double SectionId { get; set; } = default!;
|
||||
|
||||
@@ -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; }
|
||||
}
|
||||
}
|
||||
@@ -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,11 +12,11 @@ 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 id of the library
|
||||
/// </summary>
|
||||
[SpeakeasyMetadata("pathParam:style=simple,explode=false,name=sectionId")]
|
||||
public double SectionId { get; set; } = default!;
|
||||
@@ -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; }
|
||||
@@ -9,15 +9,22 @@
|
||||
#nullable enable
|
||||
namespace PlexAPI.Models.Requests
|
||||
{
|
||||
using PlexAPI.Models.Requests;
|
||||
using PlexAPI.Utils;
|
||||
|
||||
public class RefreshLibraryRequest
|
||||
public class GetRefreshLibraryMetadataRequest
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// the Id of the library to refresh
|
||||
/// The id of the library
|
||||
/// </summary>
|
||||
[SpeakeasyMetadata("pathParam:style=simple,explode=false,name=sectionId")]
|
||||
public double SectionId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// Force the refresh even if the library is already being refreshed.
|
||||
/// </summary>
|
||||
[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>
|
||||
@@ -112,6 +112,6 @@ namespace PlexAPI.Models.Requests
|
||||
public List<GetTopWatchedContentRole>? Role { get; set; }
|
||||
|
||||
[JsonProperty("User")]
|
||||
public List<Models.Requests.User>? User { get; set; }
|
||||
public List<User>? User { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -22,15 +22,9 @@ namespace PlexAPI.Models.Requests
|
||||
[JsonProperty("mode", NullValueHandling = NullValueHandling.Include)]
|
||||
public string? Mode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Unix epoch datetime
|
||||
/// </summary>
|
||||
[JsonProperty("renewsAt", NullValueHandling = NullValueHandling.Include)]
|
||||
public int? RenewsAt { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Unix epoch datetime
|
||||
/// </summary>
|
||||
[JsonProperty("endsAt", NullValueHandling = NullValueHandling.Include)]
|
||||
public int? EndsAt { get; set; }
|
||||
|
||||
@@ -62,7 +56,7 @@ namespace PlexAPI.Models.Requests
|
||||
public string? Transfer { get; set; }
|
||||
|
||||
[JsonProperty("state")]
|
||||
public PostSignInState State { get; set; } = default!;
|
||||
public PostUsersSignInDataState State { get; set; } = default!;
|
||||
|
||||
[JsonProperty("billing")]
|
||||
public Billing Billing { get; set; } = default!;
|
||||
|
||||
@@ -13,7 +13,7 @@ namespace PlexAPI.Models.Requests
|
||||
using PlexAPI.Utils;
|
||||
using System;
|
||||
|
||||
public enum PostSignInUserFeatures
|
||||
public enum PostUsersSignInDataAuthenticationFeatures
|
||||
{
|
||||
[JsonProperty("Android - Dolby Vision")]
|
||||
AndroidDolbyVision,
|
||||
@@ -135,16 +135,16 @@ namespace PlexAPI.Models.Requests
|
||||
WebServerDashboard,
|
||||
}
|
||||
|
||||
public static class PostSignInUserFeaturesExtension
|
||||
public static class PostUsersSignInDataAuthenticationFeaturesExtension
|
||||
{
|
||||
public static string Value(this PostSignInUserFeatures value)
|
||||
public static string Value(this PostUsersSignInDataAuthenticationFeatures value)
|
||||
{
|
||||
return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString();
|
||||
}
|
||||
|
||||
public static PostSignInUserFeatures ToEnum(this string value)
|
||||
public static PostUsersSignInDataAuthenticationFeatures ToEnum(this string value)
|
||||
{
|
||||
foreach(var field in typeof(PostSignInUserFeatures).GetFields())
|
||||
foreach(var field in typeof(PostUsersSignInDataAuthenticationFeatures).GetFields())
|
||||
{
|
||||
var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false);
|
||||
if (attributes.Length == 0)
|
||||
@@ -157,14 +157,14 @@ namespace PlexAPI.Models.Requests
|
||||
{
|
||||
var enumVal = field.GetValue(null);
|
||||
|
||||
if (enumVal is PostSignInUserFeatures)
|
||||
if (enumVal is PostUsersSignInDataAuthenticationFeatures)
|
||||
{
|
||||
return (PostSignInUserFeatures)enumVal;
|
||||
return (PostUsersSignInDataAuthenticationFeatures)enumVal;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
throw new Exception($"Unknown value {value} for enum PostSignInUserFeatures");
|
||||
throw new Exception($"Unknown value {value} for enum PostUsersSignInDataAuthenticationFeatures");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,7 +16,7 @@ namespace PlexAPI.Models.Requests
|
||||
/// <summary>
|
||||
/// String representation of subscriptionActive
|
||||
/// </summary>
|
||||
public enum PostSignInUserStatus
|
||||
public enum PostUsersSignInDataAuthenticationResponseStatus
|
||||
{
|
||||
[JsonProperty("Inactive")]
|
||||
Inactive,
|
||||
@@ -24,16 +24,16 @@ namespace PlexAPI.Models.Requests
|
||||
Active,
|
||||
}
|
||||
|
||||
public static class PostSignInUserStatusExtension
|
||||
public static class PostUsersSignInDataAuthenticationResponseStatusExtension
|
||||
{
|
||||
public static string Value(this PostSignInUserStatus value)
|
||||
public static string Value(this PostUsersSignInDataAuthenticationResponseStatus value)
|
||||
{
|
||||
return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString();
|
||||
}
|
||||
|
||||
public static PostSignInUserStatus ToEnum(this string value)
|
||||
public static PostUsersSignInDataAuthenticationResponseStatus ToEnum(this string value)
|
||||
{
|
||||
foreach(var field in typeof(PostSignInUserStatus).GetFields())
|
||||
foreach(var field in typeof(PostUsersSignInDataAuthenticationResponseStatus).GetFields())
|
||||
{
|
||||
var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false);
|
||||
if (attributes.Length == 0)
|
||||
@@ -46,14 +46,14 @@ namespace PlexAPI.Models.Requests
|
||||
{
|
||||
var enumVal = field.GetValue(null);
|
||||
|
||||
if (enumVal is PostSignInUserStatus)
|
||||
if (enumVal is PostUsersSignInDataAuthenticationResponseStatus)
|
||||
{
|
||||
return (PostSignInUserStatus)enumVal;
|
||||
return (PostUsersSignInDataAuthenticationResponseStatus)enumVal;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
throw new Exception($"Unknown value {value} for enum PostSignInUserStatus");
|
||||
throw new Exception($"Unknown value {value} for enum PostUsersSignInDataAuthenticationResponseStatus");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,7 +16,7 @@ namespace PlexAPI.Models.Requests
|
||||
/// <summary>
|
||||
/// String representation of subscriptionActive
|
||||
/// </summary>
|
||||
public enum PostSignInUserResponseStatus
|
||||
public enum PostUsersSignInDataAuthenticationStatus
|
||||
{
|
||||
[JsonProperty("Inactive")]
|
||||
Inactive,
|
||||
@@ -24,16 +24,16 @@ namespace PlexAPI.Models.Requests
|
||||
Active,
|
||||
}
|
||||
|
||||
public static class PostSignInUserResponseStatusExtension
|
||||
public static class PostUsersSignInDataAuthenticationStatusExtension
|
||||
{
|
||||
public static string Value(this PostSignInUserResponseStatus value)
|
||||
public static string Value(this PostUsersSignInDataAuthenticationStatus value)
|
||||
{
|
||||
return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString();
|
||||
}
|
||||
|
||||
public static PostSignInUserResponseStatus ToEnum(this string value)
|
||||
public static PostUsersSignInDataAuthenticationStatus ToEnum(this string value)
|
||||
{
|
||||
foreach(var field in typeof(PostSignInUserResponseStatus).GetFields())
|
||||
foreach(var field in typeof(PostUsersSignInDataAuthenticationStatus).GetFields())
|
||||
{
|
||||
var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false);
|
||||
if (attributes.Length == 0)
|
||||
@@ -46,14 +46,14 @@ namespace PlexAPI.Models.Requests
|
||||
{
|
||||
var enumVal = field.GetValue(null);
|
||||
|
||||
if (enumVal is PostSignInUserResponseStatus)
|
||||
if (enumVal is PostUsersSignInDataAuthenticationStatus)
|
||||
{
|
||||
return (PostSignInUserResponseStatus)enumVal;
|
||||
return (PostUsersSignInDataAuthenticationStatus)enumVal;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
throw new Exception($"Unknown value {value} for enum PostSignInUserResponseStatus");
|
||||
throw new Exception($"Unknown value {value} for enum PostUsersSignInDataAuthenticationStatus");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,14 +14,14 @@ namespace PlexAPI.Models.Requests
|
||||
using PlexAPI.Utils;
|
||||
using System.Collections.Generic;
|
||||
|
||||
public class PostSignInUserSubscription
|
||||
public class PostUsersSignInDataAuthenticationSubscription
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// List of features allowed on your Plex Pass subscription
|
||||
/// </summary>
|
||||
[JsonProperty("features")]
|
||||
public List<PostSignInUserFeatures>? Features { get; set; }
|
||||
public List<PostUsersSignInDataAuthenticationFeatures>? Features { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// If the account's Plex Pass subscription is active
|
||||
@@ -39,7 +39,7 @@ namespace PlexAPI.Models.Requests
|
||||
/// String representation of subscriptionActive
|
||||
/// </summary>
|
||||
[JsonProperty("status")]
|
||||
public PostSignInUserResponseStatus? Status { get; set; }
|
||||
public PostUsersSignInDataAuthenticationResponseStatus? Status { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Payment service used for your Plex Pass subscription
|
||||
@@ -16,7 +16,7 @@ namespace PlexAPI.Models.Requests
|
||||
/// <summary>
|
||||
/// The auto-select subtitle mode (0 = Manually selected, 1 = Shown with foreign audio, 2 = Always enabled)
|
||||
/// </summary>
|
||||
public enum PostSignInAutoSelectSubtitle
|
||||
public enum PostUsersSignInDataAutoSelectSubtitle
|
||||
{
|
||||
[JsonProperty("0")]
|
||||
Zero,
|
||||
@@ -24,16 +24,16 @@ namespace PlexAPI.Models.Requests
|
||||
One,
|
||||
}
|
||||
|
||||
public static class PostSignInAutoSelectSubtitleExtension
|
||||
public static class PostUsersSignInDataAutoSelectSubtitleExtension
|
||||
{
|
||||
public static string Value(this PostSignInAutoSelectSubtitle value)
|
||||
public static string Value(this PostUsersSignInDataAutoSelectSubtitle value)
|
||||
{
|
||||
return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString();
|
||||
}
|
||||
|
||||
public static PostSignInAutoSelectSubtitle ToEnum(this string value)
|
||||
public static PostUsersSignInDataAutoSelectSubtitle ToEnum(this string value)
|
||||
{
|
||||
foreach(var field in typeof(PostSignInAutoSelectSubtitle).GetFields())
|
||||
foreach(var field in typeof(PostUsersSignInDataAutoSelectSubtitle).GetFields())
|
||||
{
|
||||
var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false);
|
||||
if (attributes.Length == 0)
|
||||
@@ -46,14 +46,14 @@ namespace PlexAPI.Models.Requests
|
||||
{
|
||||
var enumVal = field.GetValue(null);
|
||||
|
||||
if (enumVal is PostSignInAutoSelectSubtitle)
|
||||
if (enumVal is PostUsersSignInDataAutoSelectSubtitle)
|
||||
{
|
||||
return (PostSignInAutoSelectSubtitle)enumVal;
|
||||
return (PostUsersSignInDataAutoSelectSubtitle)enumVal;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
throw new Exception($"Unknown value {value} for enum PostSignInAutoSelectSubtitle");
|
||||
throw new Exception($"Unknown value {value} for enum PostUsersSignInDataAutoSelectSubtitle");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,7 +16,7 @@ namespace PlexAPI.Models.Requests
|
||||
/// <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 PostSignInDefaultSubtitleAccessibility
|
||||
public enum PostUsersSignInDataDefaultSubtitleAccessibility
|
||||
{
|
||||
[JsonProperty("0")]
|
||||
Zero,
|
||||
@@ -24,16 +24,16 @@ namespace PlexAPI.Models.Requests
|
||||
One,
|
||||
}
|
||||
|
||||
public static class PostSignInDefaultSubtitleAccessibilityExtension
|
||||
public static class PostUsersSignInDataDefaultSubtitleAccessibilityExtension
|
||||
{
|
||||
public static string Value(this PostSignInDefaultSubtitleAccessibility value)
|
||||
public static string Value(this PostUsersSignInDataDefaultSubtitleAccessibility value)
|
||||
{
|
||||
return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString();
|
||||
}
|
||||
|
||||
public static PostSignInDefaultSubtitleAccessibility ToEnum(this string value)
|
||||
public static PostUsersSignInDataDefaultSubtitleAccessibility ToEnum(this string value)
|
||||
{
|
||||
foreach(var field in typeof(PostSignInDefaultSubtitleAccessibility).GetFields())
|
||||
foreach(var field in typeof(PostUsersSignInDataDefaultSubtitleAccessibility).GetFields())
|
||||
{
|
||||
var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false);
|
||||
if (attributes.Length == 0)
|
||||
@@ -46,14 +46,14 @@ namespace PlexAPI.Models.Requests
|
||||
{
|
||||
var enumVal = field.GetValue(null);
|
||||
|
||||
if (enumVal is PostSignInDefaultSubtitleAccessibility)
|
||||
if (enumVal is PostUsersSignInDataDefaultSubtitleAccessibility)
|
||||
{
|
||||
return (PostSignInDefaultSubtitleAccessibility)enumVal;
|
||||
return (PostUsersSignInDataDefaultSubtitleAccessibility)enumVal;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
throw new Exception($"Unknown value {value} for enum PostSignInDefaultSubtitleAccessibility");
|
||||
throw new Exception($"Unknown value {value} for enum PostUsersSignInDataDefaultSubtitleAccessibility");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,7 +16,7 @@ namespace PlexAPI.Models.Requests
|
||||
/// <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 PostSignInDefaultSubtitleForced
|
||||
public enum PostUsersSignInDataDefaultSubtitleForced
|
||||
{
|
||||
[JsonProperty("0")]
|
||||
Zero,
|
||||
@@ -24,16 +24,16 @@ namespace PlexAPI.Models.Requests
|
||||
One,
|
||||
}
|
||||
|
||||
public static class PostSignInDefaultSubtitleForcedExtension
|
||||
public static class PostUsersSignInDataDefaultSubtitleForcedExtension
|
||||
{
|
||||
public static string Value(this PostSignInDefaultSubtitleForced value)
|
||||
public static string Value(this PostUsersSignInDataDefaultSubtitleForced value)
|
||||
{
|
||||
return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString();
|
||||
}
|
||||
|
||||
public static PostSignInDefaultSubtitleForced ToEnum(this string value)
|
||||
public static PostUsersSignInDataDefaultSubtitleForced ToEnum(this string value)
|
||||
{
|
||||
foreach(var field in typeof(PostSignInDefaultSubtitleForced).GetFields())
|
||||
foreach(var field in typeof(PostUsersSignInDataDefaultSubtitleForced).GetFields())
|
||||
{
|
||||
var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false);
|
||||
if (attributes.Length == 0)
|
||||
@@ -46,14 +46,14 @@ namespace PlexAPI.Models.Requests
|
||||
{
|
||||
var enumVal = field.GetValue(null);
|
||||
|
||||
if (enumVal is PostSignInDefaultSubtitleForced)
|
||||
if (enumVal is PostUsersSignInDataDefaultSubtitleForced)
|
||||
{
|
||||
return (PostSignInDefaultSubtitleForced)enumVal;
|
||||
return (PostUsersSignInDataDefaultSubtitleForced)enumVal;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
throw new Exception($"Unknown value {value} for enum PostSignInDefaultSubtitleForced");
|
||||
throw new Exception($"Unknown value {value} for enum PostUsersSignInDataDefaultSubtitleForced");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@ namespace PlexAPI.Models.Requests
|
||||
using PlexAPI.Utils;
|
||||
using System;
|
||||
|
||||
public enum PostSignInFeatures
|
||||
public enum PostUsersSignInDataFeatures
|
||||
{
|
||||
[JsonProperty("Android - Dolby Vision")]
|
||||
AndroidDolbyVision,
|
||||
@@ -135,16 +135,16 @@ namespace PlexAPI.Models.Requests
|
||||
WebServerDashboard,
|
||||
}
|
||||
|
||||
public static class PostSignInFeaturesExtension
|
||||
public static class PostUsersSignInDataFeaturesExtension
|
||||
{
|
||||
public static string Value(this PostSignInFeatures value)
|
||||
public static string Value(this PostUsersSignInDataFeatures value)
|
||||
{
|
||||
return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString();
|
||||
}
|
||||
|
||||
public static PostSignInFeatures ToEnum(this string value)
|
||||
public static PostUsersSignInDataFeatures ToEnum(this string value)
|
||||
{
|
||||
foreach(var field in typeof(PostSignInFeatures).GetFields())
|
||||
foreach(var field in typeof(PostUsersSignInDataFeatures).GetFields())
|
||||
{
|
||||
var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false);
|
||||
if (attributes.Length == 0)
|
||||
@@ -157,14 +157,14 @@ namespace PlexAPI.Models.Requests
|
||||
{
|
||||
var enumVal = field.GetValue(null);
|
||||
|
||||
if (enumVal is PostSignInFeatures)
|
||||
if (enumVal is PostUsersSignInDataFeatures)
|
||||
{
|
||||
return (PostSignInFeatures)enumVal;
|
||||
return (PostUsersSignInDataFeatures)enumVal;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
throw new Exception($"Unknown value {value} for enum PostSignInFeatures");
|
||||
throw new Exception($"Unknown value {value} for enum PostUsersSignInDataFeatures");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,7 +16,7 @@ namespace PlexAPI.Models.Requests
|
||||
/// <summary>
|
||||
/// Your current mailing list status
|
||||
/// </summary>
|
||||
public enum PostSignInMailingListStatus
|
||||
public enum PostUsersSignInDataMailingListStatus
|
||||
{
|
||||
[JsonProperty("active")]
|
||||
Active,
|
||||
@@ -24,16 +24,16 @@ namespace PlexAPI.Models.Requests
|
||||
Unsubscribed,
|
||||
}
|
||||
|
||||
public static class PostSignInMailingListStatusExtension
|
||||
public static class PostUsersSignInDataMailingListStatusExtension
|
||||
{
|
||||
public static string Value(this PostSignInMailingListStatus value)
|
||||
public static string Value(this PostUsersSignInDataMailingListStatus value)
|
||||
{
|
||||
return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString();
|
||||
}
|
||||
|
||||
public static PostSignInMailingListStatus ToEnum(this string value)
|
||||
public static PostUsersSignInDataMailingListStatus ToEnum(this string value)
|
||||
{
|
||||
foreach(var field in typeof(PostSignInMailingListStatus).GetFields())
|
||||
foreach(var field in typeof(PostUsersSignInDataMailingListStatus).GetFields())
|
||||
{
|
||||
var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false);
|
||||
if (attributes.Length == 0)
|
||||
@@ -46,14 +46,14 @@ namespace PlexAPI.Models.Requests
|
||||
{
|
||||
var enumVal = field.GetValue(null);
|
||||
|
||||
if (enumVal is PostSignInMailingListStatus)
|
||||
if (enumVal is PostUsersSignInDataMailingListStatus)
|
||||
{
|
||||
return (PostSignInMailingListStatus)enumVal;
|
||||
return (PostUsersSignInDataMailingListStatus)enumVal;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
throw new Exception($"Unknown value {value} for enum PostSignInMailingListStatus");
|
||||
throw new Exception($"Unknown value {value} for enum PostUsersSignInDataMailingListStatus");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,7 +11,7 @@ namespace PlexAPI.Models.Requests
|
||||
{
|
||||
using PlexAPI.Utils;
|
||||
|
||||
public enum PostSignInMediaReviewsVisibility
|
||||
public enum PostUsersSignInDataMediaReviewsVisibility
|
||||
{
|
||||
Zero = 0,
|
||||
One = 1,
|
||||
@@ -12,7 +12,7 @@ namespace PlexAPI.Models.Requests
|
||||
using PlexAPI.Models.Requests;
|
||||
using PlexAPI.Utils;
|
||||
|
||||
public class PostSignInRequest
|
||||
public class PostUsersSignInDataRequest
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
@@ -31,6 +31,6 @@ namespace PlexAPI.Models.Requests
|
||||
/// Login credentials
|
||||
/// </summary>
|
||||
[SpeakeasyMetadata("request:mediaType=application/x-www-form-urlencoded")]
|
||||
public PostSignInRequestBody? RequestBody { get; set; }
|
||||
public PostUsersSignInDataRequestBody? RequestBody { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -14,7 +14,7 @@ namespace PlexAPI.Models.Requests
|
||||
/// <summary>
|
||||
/// Login credentials
|
||||
/// </summary>
|
||||
public class PostSignInRequestBody
|
||||
public class PostUsersSignInDataRequestBody
|
||||
{
|
||||
|
||||
[SpeakeasyMetadata("form:name=login")]
|
||||
@@ -14,7 +14,7 @@ namespace PlexAPI.Models.Requests
|
||||
using System.Net.Http;
|
||||
using System;
|
||||
|
||||
public class PostSignInResponse
|
||||
public class PostUsersSignInDataResponse
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
@@ -35,6 +35,6 @@ namespace PlexAPI.Models.Requests
|
||||
/// <summary>
|
||||
/// Returns the user account data with a valid auth token
|
||||
/// </summary>
|
||||
public PostSignInUserPlexAccount? UserPlexAccount { get; set; }
|
||||
public PostUsersSignInDataUserPlexAccount? UserPlexAccount { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -13,7 +13,7 @@ namespace PlexAPI.Models.Requests
|
||||
using PlexAPI.Models.Requests;
|
||||
using PlexAPI.Utils;
|
||||
|
||||
public class PostSignInServices
|
||||
public class PostUsersSignInDataServices
|
||||
{
|
||||
|
||||
[JsonProperty("identifier")]
|
||||
@@ -29,6 +29,6 @@ namespace PlexAPI.Models.Requests
|
||||
public string? Secret { get; set; }
|
||||
|
||||
[JsonProperty("status")]
|
||||
public PostSignInStatus Status { get; set; } = default!;
|
||||
public PostUsersSignInDataStatus Status { get; set; } = default!;
|
||||
}
|
||||
}
|
||||
@@ -13,22 +13,22 @@ namespace PlexAPI.Models.Requests
|
||||
using PlexAPI.Utils;
|
||||
using System;
|
||||
|
||||
public enum PostSignInState
|
||||
public enum PostUsersSignInDataState
|
||||
{
|
||||
[JsonProperty("ended")]
|
||||
Ended,
|
||||
}
|
||||
|
||||
public static class PostSignInStateExtension
|
||||
public static class PostUsersSignInDataStateExtension
|
||||
{
|
||||
public static string Value(this PostSignInState value)
|
||||
public static string Value(this PostUsersSignInDataState value)
|
||||
{
|
||||
return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString();
|
||||
}
|
||||
|
||||
public static PostSignInState ToEnum(this string value)
|
||||
public static PostUsersSignInDataState ToEnum(this string value)
|
||||
{
|
||||
foreach(var field in typeof(PostSignInState).GetFields())
|
||||
foreach(var field in typeof(PostUsersSignInDataState).GetFields())
|
||||
{
|
||||
var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false);
|
||||
if (attributes.Length == 0)
|
||||
@@ -41,14 +41,14 @@ namespace PlexAPI.Models.Requests
|
||||
{
|
||||
var enumVal = field.GetValue(null);
|
||||
|
||||
if (enumVal is PostSignInState)
|
||||
if (enumVal is PostUsersSignInDataState)
|
||||
{
|
||||
return (PostSignInState)enumVal;
|
||||
return (PostUsersSignInDataState)enumVal;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
throw new Exception($"Unknown value {value} for enum PostSignInState");
|
||||
throw new Exception($"Unknown value {value} for enum PostUsersSignInDataState");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@ namespace PlexAPI.Models.Requests
|
||||
using PlexAPI.Utils;
|
||||
using System;
|
||||
|
||||
public enum PostSignInStatus
|
||||
public enum PostUsersSignInDataStatus
|
||||
{
|
||||
[JsonProperty("online")]
|
||||
Online,
|
||||
@@ -21,16 +21,16 @@ namespace PlexAPI.Models.Requests
|
||||
Offline,
|
||||
}
|
||||
|
||||
public static class PostSignInStatusExtension
|
||||
public static class PostUsersSignInDataStatusExtension
|
||||
{
|
||||
public static string Value(this PostSignInStatus value)
|
||||
public static string Value(this PostUsersSignInDataStatus value)
|
||||
{
|
||||
return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString();
|
||||
}
|
||||
|
||||
public static PostSignInStatus ToEnum(this string value)
|
||||
public static PostUsersSignInDataStatus ToEnum(this string value)
|
||||
{
|
||||
foreach(var field in typeof(PostSignInStatus).GetFields())
|
||||
foreach(var field in typeof(PostUsersSignInDataStatus).GetFields())
|
||||
{
|
||||
var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false);
|
||||
if (attributes.Length == 0)
|
||||
@@ -43,14 +43,14 @@ namespace PlexAPI.Models.Requests
|
||||
{
|
||||
var enumVal = field.GetValue(null);
|
||||
|
||||
if (enumVal is PostSignInStatus)
|
||||
if (enumVal is PostUsersSignInDataStatus)
|
||||
{
|
||||
return (PostSignInStatus)enumVal;
|
||||
return (PostUsersSignInDataStatus)enumVal;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
throw new Exception($"Unknown value {value} for enum PostSignInStatus");
|
||||
throw new Exception($"Unknown value {value} for enum PostUsersSignInDataStatus");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,14 +17,14 @@ namespace PlexAPI.Models.Requests
|
||||
/// <summary>
|
||||
/// If the account’s Plex Pass subscription is active
|
||||
/// </summary>
|
||||
public class PostSignInSubscription
|
||||
public class PostUsersSignInDataSubscription
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// List of features allowed on your Plex Pass subscription
|
||||
/// </summary>
|
||||
[JsonProperty("features")]
|
||||
public List<PostSignInFeatures>? Features { get; set; }
|
||||
public List<PostUsersSignInDataFeatures>? Features { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// If the account's Plex Pass subscription is active
|
||||
@@ -42,7 +42,7 @@ namespace PlexAPI.Models.Requests
|
||||
/// String representation of subscriptionActive
|
||||
/// </summary>
|
||||
[JsonProperty("status")]
|
||||
public PostSignInUserStatus? Status { get; set; }
|
||||
public PostUsersSignInDataAuthenticationStatus? Status { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Payment service used for your Plex Pass subscription
|
||||
@@ -18,7 +18,7 @@ namespace PlexAPI.Models.Requests
|
||||
/// <summary>
|
||||
/// Returns the user account data with a valid auth token
|
||||
/// </summary>
|
||||
public class PostSignInUserPlexAccount
|
||||
public class PostUsersSignInDataUserPlexAccount
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
@@ -157,7 +157,7 @@ namespace PlexAPI.Models.Requests
|
||||
/// Your current mailing list status
|
||||
/// </summary>
|
||||
[JsonProperty("mailingListStatus")]
|
||||
public PostSignInMailingListStatus MailingListStatus { get; set; } = default!;
|
||||
public PostUsersSignInDataMailingListStatus MailingListStatus { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// The maximum number of accounts allowed in the Plex Home
|
||||
@@ -173,7 +173,7 @@ namespace PlexAPI.Models.Requests
|
||||
public string? Pin { get; set; }
|
||||
|
||||
[JsonProperty("profile")]
|
||||
public PostSignInUserProfile Profile { get; set; } = default!;
|
||||
public PostUsersSignInDataUserProfile Profile { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// If the account has a Plex Home PIN enabled
|
||||
@@ -206,13 +206,13 @@ namespace PlexAPI.Models.Requests
|
||||
public string ScrobbleTypes { get; set; } = default!;
|
||||
|
||||
[JsonProperty("services")]
|
||||
public List<PostSignInServices> Services { get; set; } = default!;
|
||||
public List<PostUsersSignInDataServices> Services { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// If the account’s Plex Pass subscription is active
|
||||
/// </summary>
|
||||
[JsonProperty("subscription")]
|
||||
public PostSignInSubscription Subscription { get; set; } = default!;
|
||||
public PostUsersSignInDataSubscription Subscription { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// Description of the Plex Pass subscription
|
||||
@@ -221,7 +221,7 @@ namespace PlexAPI.Models.Requests
|
||||
public string? SubscriptionDescription { get; set; }
|
||||
|
||||
[JsonProperty("subscriptions")]
|
||||
public List<PostSignInUserSubscription> Subscriptions { get; set; } = default!;
|
||||
public List<PostUsersSignInDataAuthenticationSubscription> Subscriptions { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// URL of the account thumbnail
|
||||
@@ -13,7 +13,7 @@ namespace PlexAPI.Models.Requests
|
||||
using PlexAPI.Models.Requests;
|
||||
using PlexAPI.Utils;
|
||||
|
||||
public class PostSignInUserProfile
|
||||
public class PostUsersSignInDataUserProfile
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
@@ -38,24 +38,24 @@ namespace PlexAPI.Models.Requests
|
||||
/// The auto-select subtitle mode (0 = Manually selected, 1 = Shown with foreign audio, 2 = Always enabled)
|
||||
/// </summary>
|
||||
[JsonProperty("autoSelectSubtitle")]
|
||||
public PostSignInAutoSelectSubtitle? AutoSelectSubtitle { get; set; }
|
||||
public PostUsersSignInDataAutoSelectSubtitle? AutoSelectSubtitle { get; set; }
|
||||
|
||||
/// <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>
|
||||
[JsonProperty("defaultSubtitleAccessibility")]
|
||||
public PostSignInDefaultSubtitleAccessibility? DefaultSubtitleAccessibility { get; set; }
|
||||
public PostUsersSignInDataDefaultSubtitleAccessibility? DefaultSubtitleAccessibility { get; set; }
|
||||
|
||||
/// <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>
|
||||
[JsonProperty("defaultSubtitleForced")]
|
||||
public PostSignInDefaultSubtitleForced? DefaultSubtitleForced { get; set; }
|
||||
public PostUsersSignInDataDefaultSubtitleForced? DefaultSubtitleForced { get; set; }
|
||||
|
||||
[JsonProperty("watchedIndicator")]
|
||||
public PostSignInWatchedIndicator? WatchedIndicator { get; set; }
|
||||
public PostUsersSignInDataWatchedIndicator? WatchedIndicator { get; set; }
|
||||
|
||||
[JsonProperty("mediaReviewsVisibility")]
|
||||
public PostSignInMediaReviewsVisibility? MediaReviewsVisibility { get; set; }
|
||||
public PostUsersSignInDataMediaReviewsVisibility? MediaReviewsVisibility { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -13,7 +13,7 @@ namespace PlexAPI.Models.Requests
|
||||
using PlexAPI.Utils;
|
||||
using System;
|
||||
|
||||
public enum PostSignInWatchedIndicator
|
||||
public enum PostUsersSignInDataWatchedIndicator
|
||||
{
|
||||
[JsonProperty("0")]
|
||||
Zero,
|
||||
@@ -21,16 +21,16 @@ namespace PlexAPI.Models.Requests
|
||||
One,
|
||||
}
|
||||
|
||||
public static class PostSignInWatchedIndicatorExtension
|
||||
public static class PostUsersSignInDataWatchedIndicatorExtension
|
||||
{
|
||||
public static string Value(this PostSignInWatchedIndicator value)
|
||||
public static string Value(this PostUsersSignInDataWatchedIndicator value)
|
||||
{
|
||||
return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString();
|
||||
}
|
||||
|
||||
public static PostSignInWatchedIndicator ToEnum(this string value)
|
||||
public static PostUsersSignInDataWatchedIndicator ToEnum(this string value)
|
||||
{
|
||||
foreach(var field in typeof(PostSignInWatchedIndicator).GetFields())
|
||||
foreach(var field in typeof(PostUsersSignInDataWatchedIndicator).GetFields())
|
||||
{
|
||||
var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false);
|
||||
if (attributes.Length == 0)
|
||||
@@ -43,14 +43,14 @@ namespace PlexAPI.Models.Requests
|
||||
{
|
||||
var enumVal = field.GetValue(null);
|
||||
|
||||
if (enumVal is PostSignInWatchedIndicator)
|
||||
if (enumVal is PostUsersSignInDataWatchedIndicator)
|
||||
{
|
||||
return (PostSignInWatchedIndicator)enumVal;
|
||||
return (PostUsersSignInDataWatchedIndicator)enumVal;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
throw new Exception($"Unknown value {value} for enum PostSignInWatchedIndicator");
|
||||
throw new Exception($"Unknown value {value} for enum PostUsersSignInDataWatchedIndicator");
|
||||
}
|
||||
}
|
||||
|
||||
30
PlexAPI/Models/Requests/QueryParamForce.cs
Normal file
30
PlexAPI/Models/Requests/QueryParamForce.cs
Normal file
@@ -0,0 +1,30 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <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>
|
||||
/// 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>
|
||||
/// </summary>
|
||||
public enum QueryParamForce
|
||||
{
|
||||
Zero = 0,
|
||||
One = 1,
|
||||
}
|
||||
|
||||
}
|
||||
@@ -25,6 +25,6 @@ namespace PlexAPI.Models.Requests
|
||||
/// Plex content type to search for
|
||||
/// </summary>
|
||||
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=type")]
|
||||
public Type Type { get; set; } = default!;
|
||||
public Models.Requests.Type Type { get; set; } = default!;
|
||||
}
|
||||
}
|
||||
@@ -41,6 +41,6 @@ namespace PlexAPI.Models.Requests
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=force")]
|
||||
public Force Force { get; set; } = default!;
|
||||
public QueryParamForce Force { get; set; } = default!;
|
||||
}
|
||||
}
|
||||
@@ -129,7 +129,7 @@ namespace PlexAPI
|
||||
///
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<UploadPlaylistResponse> UploadPlaylistAsync(string path, Force force);
|
||||
Task<UploadPlaylistResponse> UploadPlaylistAsync(string path, QueryParamForce force);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -146,10 +146,10 @@ namespace PlexAPI
|
||||
{
|
||||
public SDKConfig SDKConfiguration { get; private set; }
|
||||
private const string _language = "csharp";
|
||||
private const string _sdkVersion = "0.4.1";
|
||||
private const string _sdkGenVersion = "2.404.3";
|
||||
private const string _sdkVersion = "0.4.2";
|
||||
private const string _sdkGenVersion = "2.407.0";
|
||||
private const string _openapiDocVersion = "0.0.3";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.4.1 2.404.3 0.0.3 PlexAPI";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.4.2 2.407.0 0.0.3 PlexAPI";
|
||||
private string _serverUrl = "";
|
||||
private ISpeakeasyHttpClient _client;
|
||||
private Func<PlexAPI.Models.Components.Security>? _securitySource;
|
||||
@@ -894,7 +894,7 @@ namespace PlexAPI
|
||||
}
|
||||
}
|
||||
|
||||
public async Task<UploadPlaylistResponse> UploadPlaylistAsync(string path, Force force)
|
||||
public async Task<UploadPlaylistResponse> UploadPlaylistAsync(string path, QueryParamForce force)
|
||||
{
|
||||
var request = new UploadPlaylistRequest()
|
||||
{
|
||||
|
||||
@@ -158,10 +158,10 @@ namespace PlexAPI
|
||||
};
|
||||
public SDKConfig SDKConfiguration { get; private set; }
|
||||
private const string _language = "csharp";
|
||||
private const string _sdkVersion = "0.4.1";
|
||||
private const string _sdkGenVersion = "2.404.3";
|
||||
private const string _sdkVersion = "0.4.2";
|
||||
private const string _sdkGenVersion = "2.407.0";
|
||||
private const string _openapiDocVersion = "0.0.3";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.4.1 2.404.3 0.0.3 PlexAPI";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.4.2 2.407.0 0.0.3 PlexAPI";
|
||||
private string _serverUrl = "";
|
||||
private ISpeakeasyHttpClient _client;
|
||||
private Func<PlexAPI.Models.Components.Security>? _securitySource;
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<PropertyGroup>
|
||||
<IsPackable>true</IsPackable>
|
||||
<PackageId>PlexAPI</PackageId>
|
||||
<Version>0.4.1</Version>
|
||||
<Version>0.4.2</Version>
|
||||
<TargetFramework>net5.0</TargetFramework>
|
||||
<Authors>LukeHagar</Authors>
|
||||
<Copyright>Copyright (c) LukeHagar 2024</Copyright>
|
||||
|
||||
@@ -213,15 +213,6 @@ namespace PlexAPI
|
||||
/// </summary>
|
||||
public IUpdater Updater { get; }
|
||||
|
||||
/// <summary>
|
||||
/// API Calls that perform operations with Plex Media Server Users<br/>
|
||||
///
|
||||
/// <remarks>
|
||||
///
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
public IUser User { get; }
|
||||
|
||||
/// <summary>
|
||||
/// API Calls that perform operations with Plex Media Server Watchlists<br/>
|
||||
///
|
||||
@@ -277,10 +268,10 @@ namespace PlexAPI
|
||||
public SDKConfig SDKConfiguration { get; private set; }
|
||||
|
||||
private const string _language = "csharp";
|
||||
private const string _sdkVersion = "0.4.1";
|
||||
private const string _sdkGenVersion = "2.404.3";
|
||||
private const string _sdkVersion = "0.4.2";
|
||||
private const string _sdkGenVersion = "2.407.0";
|
||||
private const string _openapiDocVersion = "0.0.3";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.4.1 2.404.3 0.0.3 PlexAPI";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.4.2 2.407.0 0.0.3 PlexAPI";
|
||||
private string _serverUrl = "";
|
||||
private int _serverIndex = 0;
|
||||
private ISpeakeasyHttpClient _client;
|
||||
@@ -300,7 +291,6 @@ namespace PlexAPI
|
||||
public IStatistics Statistics { get; private set; }
|
||||
public ISessions Sessions { get; private set; }
|
||||
public IUpdater Updater { get; private set; }
|
||||
public IUser User { get; private set; }
|
||||
public IWatchlist Watchlist { get; private set; }
|
||||
|
||||
public PlexAPISDK(string? accessToken = null, Func<string>? accessTokenSource = null, string? xPlexClientIdentifier = null, int? serverIndex = null, ServerProtocol? protocol = null, string? ip = null, string? port = null, string? serverUrl = null, Dictionary<string, string>? urlParams = null, ISpeakeasyHttpClient? client = null, RetryConfig? retryConfig = null)
|
||||
@@ -400,9 +390,6 @@ namespace PlexAPI
|
||||
Updater = new Updater(_client, _securitySource, _serverUrl, SDKConfiguration);
|
||||
|
||||
|
||||
User = new User(_client, _securitySource, _serverUrl, SDKConfiguration);
|
||||
|
||||
|
||||
Watchlist = new Watchlist(_client, _securitySource, _serverUrl, SDKConfiguration);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -87,10 +87,10 @@ namespace PlexAPI
|
||||
{
|
||||
public SDKConfig SDKConfiguration { get; private set; }
|
||||
private const string _language = "csharp";
|
||||
private const string _sdkVersion = "0.4.1";
|
||||
private const string _sdkGenVersion = "2.404.3";
|
||||
private const string _sdkVersion = "0.4.2";
|
||||
private const string _sdkGenVersion = "2.407.0";
|
||||
private const string _openapiDocVersion = "0.0.3";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.4.1 2.404.3 0.0.3 PlexAPI";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.4.2 2.407.0 0.0.3 PlexAPI";
|
||||
private string _serverUrl = "";
|
||||
private ISpeakeasyHttpClient _client;
|
||||
private Func<PlexAPI.Models.Components.Security>? _securitySource;
|
||||
|
||||
@@ -117,10 +117,10 @@ namespace PlexAPI
|
||||
{
|
||||
public SDKConfig SDKConfiguration { get; private set; }
|
||||
private const string _language = "csharp";
|
||||
private const string _sdkVersion = "0.4.1";
|
||||
private const string _sdkGenVersion = "2.404.3";
|
||||
private const string _sdkVersion = "0.4.2";
|
||||
private const string _sdkGenVersion = "2.407.0";
|
||||
private const string _openapiDocVersion = "0.0.3";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.4.1 2.404.3 0.0.3 PlexAPI";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.4.2 2.407.0 0.0.3 PlexAPI";
|
||||
private string _serverUrl = "";
|
||||
private ISpeakeasyHttpClient _client;
|
||||
private Func<PlexAPI.Models.Components.Security>? _securitySource;
|
||||
|
||||
@@ -80,10 +80,10 @@ namespace PlexAPI
|
||||
{
|
||||
public SDKConfig SDKConfiguration { get; private set; }
|
||||
private const string _language = "csharp";
|
||||
private const string _sdkVersion = "0.4.1";
|
||||
private const string _sdkGenVersion = "2.404.3";
|
||||
private const string _sdkVersion = "0.4.2";
|
||||
private const string _sdkGenVersion = "2.407.0";
|
||||
private const string _openapiDocVersion = "0.0.3";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.4.1 2.404.3 0.0.3 PlexAPI";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.4.2 2.407.0 0.0.3 PlexAPI";
|
||||
private string _serverUrl = "";
|
||||
private ISpeakeasyHttpClient _client;
|
||||
private Func<PlexAPI.Models.Components.Security>? _securitySource;
|
||||
|
||||
@@ -71,10 +71,10 @@ namespace PlexAPI
|
||||
{
|
||||
public SDKConfig SDKConfiguration { get; private set; }
|
||||
private const string _language = "csharp";
|
||||
private const string _sdkVersion = "0.4.1";
|
||||
private const string _sdkGenVersion = "2.404.3";
|
||||
private const string _sdkVersion = "0.4.2";
|
||||
private const string _sdkGenVersion = "2.407.0";
|
||||
private const string _openapiDocVersion = "0.0.3";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.4.1 2.404.3 0.0.3 PlexAPI";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.4.2 2.407.0 0.0.3 PlexAPI";
|
||||
private string _serverUrl = "";
|
||||
private ISpeakeasyHttpClient _client;
|
||||
private Func<PlexAPI.Models.Components.Security>? _securitySource;
|
||||
|
||||
@@ -74,10 +74,10 @@ namespace PlexAPI
|
||||
{
|
||||
public SDKConfig SDKConfiguration { get; private set; }
|
||||
private const string _language = "csharp";
|
||||
private const string _sdkVersion = "0.4.1";
|
||||
private const string _sdkGenVersion = "2.404.3";
|
||||
private const string _sdkVersion = "0.4.2";
|
||||
private const string _sdkGenVersion = "2.407.0";
|
||||
private const string _openapiDocVersion = "0.0.3";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.4.1 2.404.3 0.0.3 PlexAPI";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.4.2 2.407.0 0.0.3 PlexAPI";
|
||||
private string _serverUrl = "";
|
||||
private ISpeakeasyHttpClient _client;
|
||||
private Func<PlexAPI.Models.Components.Security>? _securitySource;
|
||||
|
||||
184
PlexAPI/User.cs
184
PlexAPI/User.cs
@@ -1,184 +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
|
||||
{
|
||||
using Newtonsoft.Json;
|
||||
using PlexAPI.Hooks;
|
||||
using PlexAPI.Models.Components;
|
||||
using PlexAPI.Models.Errors;
|
||||
using PlexAPI.Models.Requests;
|
||||
using PlexAPI.Utils.Retries;
|
||||
using PlexAPI.Utils;
|
||||
using System.Collections.Generic;
|
||||
using System.Net.Http.Headers;
|
||||
using System.Net.Http;
|
||||
using System.Threading.Tasks;
|
||||
using System;
|
||||
|
||||
/// <summary>
|
||||
/// API Calls that perform operations with Plex Media Server Users<br/>
|
||||
///
|
||||
/// <remarks>
|
||||
///
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
public interface IUser
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// Get User SignIn Data
|
||||
///
|
||||
/// <remarks>
|
||||
/// Sign in user with username and password and return user data with Plex authentication token
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
Task<PostSignInResponse> PostSignInAsync(string? xPlexClientIdentifier = null, PostSignInRequestBody? requestBody = null, string? serverUrl = null);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// API Calls that perform operations with Plex Media Server Users<br/>
|
||||
///
|
||||
/// <remarks>
|
||||
///
|
||||
/// </remarks>
|
||||
/// </summary>
|
||||
public class User: IUser
|
||||
{
|
||||
/// <summary>
|
||||
/// List of server URLs available for the post-sign-in operation.
|
||||
/// </summary>
|
||||
public static readonly string[] PostSignInServerList = {
|
||||
"https://plex.tv/api/v2",
|
||||
};
|
||||
public SDKConfig SDKConfiguration { get; private set; }
|
||||
private const string _language = "csharp";
|
||||
private const string _sdkVersion = "0.4.1";
|
||||
private const string _sdkGenVersion = "2.404.3";
|
||||
private const string _openapiDocVersion = "0.0.3";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.4.1 2.404.3 0.0.3 PlexAPI";
|
||||
private string _serverUrl = "";
|
||||
private ISpeakeasyHttpClient _client;
|
||||
private Func<PlexAPI.Models.Components.Security>? _securitySource;
|
||||
|
||||
public User(ISpeakeasyHttpClient client, Func<PlexAPI.Models.Components.Security>? securitySource, string serverUrl, SDKConfig config)
|
||||
{
|
||||
_client = client;
|
||||
_securitySource = securitySource;
|
||||
_serverUrl = serverUrl;
|
||||
SDKConfiguration = config;
|
||||
}
|
||||
|
||||
public async Task<PostSignInResponse> PostSignInAsync(string? xPlexClientIdentifier = null, PostSignInRequestBody? requestBody = null, string? serverUrl = null)
|
||||
{
|
||||
var request = new PostSignInRequest()
|
||||
{
|
||||
XPlexClientIdentifier = xPlexClientIdentifier,
|
||||
RequestBody = requestBody,
|
||||
};
|
||||
request.XPlexClientIdentifier ??= SDKConfiguration.XPlexClientIdentifier;
|
||||
|
||||
string baseUrl = Utilities.TemplateUrl(PostSignInServerList[0], new Dictionary<string, string>(){
|
||||
});
|
||||
if (serverUrl != null)
|
||||
{
|
||||
baseUrl = serverUrl;
|
||||
}
|
||||
|
||||
var urlString = baseUrl + "/users/signin";
|
||||
|
||||
var httpRequest = new HttpRequestMessage(HttpMethod.Post, urlString);
|
||||
httpRequest.Headers.Add("user-agent", _userAgent);
|
||||
HeaderSerializer.PopulateHeaders(ref httpRequest, request);
|
||||
|
||||
var serializedBody = RequestBodySerializer.Serialize(request, "RequestBody", "form", false, true);
|
||||
if (serializedBody != null)
|
||||
{
|
||||
httpRequest.Content = serializedBody;
|
||||
}
|
||||
|
||||
var hookCtx = new HookContext("post-sign-in", 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<PostSignInUserPlexAccount>(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore);
|
||||
var response = new PostSignInResponse()
|
||||
{
|
||||
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<PostSignInResponseBody>(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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -62,10 +62,10 @@ namespace PlexAPI
|
||||
{
|
||||
public SDKConfig SDKConfiguration { get; private set; }
|
||||
private const string _language = "csharp";
|
||||
private const string _sdkVersion = "0.4.1";
|
||||
private const string _sdkGenVersion = "2.404.3";
|
||||
private const string _sdkVersion = "0.4.2";
|
||||
private const string _sdkGenVersion = "2.407.0";
|
||||
private const string _openapiDocVersion = "0.0.3";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.4.1 2.404.3 0.0.3 PlexAPI";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.4.2 2.407.0 0.0.3 PlexAPI";
|
||||
private string _serverUrl = "";
|
||||
private ISpeakeasyHttpClient _client;
|
||||
private Func<PlexAPI.Models.Components.Security>? _securitySource;
|
||||
|
||||
@@ -59,10 +59,10 @@ namespace PlexAPI
|
||||
};
|
||||
public SDKConfig SDKConfiguration { get; private set; }
|
||||
private const string _language = "csharp";
|
||||
private const string _sdkVersion = "0.4.1";
|
||||
private const string _sdkGenVersion = "2.404.3";
|
||||
private const string _sdkVersion = "0.4.2";
|
||||
private const string _sdkGenVersion = "2.407.0";
|
||||
private const string _openapiDocVersion = "0.0.3";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.4.1 2.404.3 0.0.3 PlexAPI";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.4.2 2.407.0 0.0.3 PlexAPI";
|
||||
private string _serverUrl = "";
|
||||
private ISpeakeasyHttpClient _client;
|
||||
private Func<PlexAPI.Models.Components.Security>? _securitySource;
|
||||
|
||||
46
README.md
46
README.md
@@ -12,14 +12,16 @@
|
||||
|
||||
### NuGet
|
||||
|
||||
To add the [NuGet](https://www.nuget.org/) package to a .NET project:
|
||||
```bash
|
||||
dotnet add package PlexAPI
|
||||
```
|
||||
|
||||
### Locally
|
||||
|
||||
To add a reference to a local instance of the SDK in a .NET project:
|
||||
```bash
|
||||
dotnet add reference path/to/PlexAPI.csproj
|
||||
dotnet add reference PlexAPI/PlexAPI.csproj
|
||||
```
|
||||
<!-- End SDK Installation [installation] -->
|
||||
|
||||
@@ -34,7 +36,8 @@ using PlexAPI.Models.Components;
|
||||
|
||||
var sdk = new PlexAPISDK(
|
||||
accessToken: "<YOUR_API_KEY_HERE>",
|
||||
xPlexClientIdentifier: "Postman");
|
||||
xPlexClientIdentifier: "Postman"
|
||||
);
|
||||
|
||||
var res = await sdk.Server.GetServerCapabilitiesAsync();
|
||||
|
||||
@@ -106,11 +109,11 @@ var res = await sdk.Server.GetServerCapabilitiesAsync();
|
||||
|
||||
* [GetFileHash](docs/sdks/library/README.md#getfilehash) - Get Hash Value
|
||||
* [GetRecentlyAdded](docs/sdks/library/README.md#getrecentlyadded) - Get Recently Added
|
||||
* [GetLibraries](docs/sdks/library/README.md#getlibraries) - Get All Libraries
|
||||
* [GetLibrary](docs/sdks/library/README.md#getlibrary) - Get Library Details
|
||||
* [GetAllLibraries](docs/sdks/library/README.md#getalllibraries) - Get All Libraries
|
||||
* [GetLibraryDetails](docs/sdks/library/README.md#getlibrarydetails) - Get Library Details
|
||||
* [DeleteLibrary](docs/sdks/library/README.md#deletelibrary) - Delete Library Section
|
||||
* [GetLibraryItems](docs/sdks/library/README.md#getlibraryitems) - Get Library Items
|
||||
* [RefreshLibrary](docs/sdks/library/README.md#refreshlibrary) - Refresh Library
|
||||
* [GetRefreshLibraryMetadata](docs/sdks/library/README.md#getrefreshlibrarymetadata) - Refresh Metadata Of The Library
|
||||
* [SearchLibrary](docs/sdks/library/README.md#searchlibrary) - Search Library
|
||||
* [GetMetadata](docs/sdks/library/README.md#getmetadata) - Get Items Metadata
|
||||
* [GetMetadataChildren](docs/sdks/library/README.md#getmetadatachildren) - Get Items Children
|
||||
@@ -139,6 +142,7 @@ var res = await sdk.Server.GetServerCapabilitiesAsync();
|
||||
|
||||
* [GetTransientToken](docs/sdks/authentication/README.md#gettransienttoken) - Get a Transient Token.
|
||||
* [GetSourceConnectionInformation](docs/sdks/authentication/README.md#getsourceconnectioninformation) - Get Source Connection Information
|
||||
* [PostUsersSignInData](docs/sdks/authentication/README.md#postuserssignindata) - Get User SignIn Data
|
||||
|
||||
### [Statistics](docs/sdks/statistics/README.md)
|
||||
|
||||
@@ -159,10 +163,6 @@ var res = await sdk.Server.GetServerCapabilitiesAsync();
|
||||
* [CheckForUpdates](docs/sdks/updater/README.md#checkforupdates) - Checking for updates
|
||||
* [ApplyUpdates](docs/sdks/updater/README.md#applyupdates) - Apply Updates
|
||||
|
||||
### [User](docs/sdks/user/README.md)
|
||||
|
||||
* [PostSignIn](docs/sdks/user/README.md#postsignin) - Get User SignIn Data
|
||||
|
||||
### [Watchlist](docs/sdks/watchlist/README.md)
|
||||
|
||||
* [GetWatchlist](docs/sdks/watchlist/README.md#getwatchlist) - Get User Watchlist
|
||||
@@ -202,7 +202,8 @@ using PlexAPI.Models.Components;
|
||||
|
||||
var sdk = new PlexAPISDK(
|
||||
accessToken: "<YOUR_API_KEY_HERE>",
|
||||
xPlexClientIdentifier: "Postman");
|
||||
xPlexClientIdentifier: "Postman"
|
||||
);
|
||||
|
||||
var res = await sdk.Plex.GetCompanionsDataAsync(serverUrl: "https://plex.tv/api/v2");
|
||||
|
||||
@@ -228,7 +229,8 @@ using PlexAPI.Models.Components;
|
||||
|
||||
var sdk = new PlexAPISDK(
|
||||
accessToken: "<YOUR_API_KEY_HERE>",
|
||||
xPlexClientIdentifier: "Postman");
|
||||
xPlexClientIdentifier: "Postman"
|
||||
);
|
||||
|
||||
var res = await sdk.Server.GetServerCapabilitiesAsync();
|
||||
|
||||
@@ -256,11 +258,13 @@ using PlexAPI.Models.Errors;
|
||||
|
||||
var sdk = new PlexAPISDK(
|
||||
accessToken: "<YOUR_API_KEY_HERE>",
|
||||
xPlexClientIdentifier: "Postman");
|
||||
xPlexClientIdentifier: "Postman"
|
||||
);
|
||||
|
||||
try
|
||||
{
|
||||
var res = await sdk.Server.GetServerCapabilitiesAsync();
|
||||
|
||||
// handle response
|
||||
}
|
||||
catch (Exception ex)
|
||||
@@ -274,10 +278,26 @@ catch (Exception ex)
|
||||
// handle exception
|
||||
}
|
||||
}
|
||||
|
||||
```
|
||||
<!-- End Error Handling [errors] -->
|
||||
|
||||
<!-- Start Summary [summary] -->
|
||||
## Summary
|
||||
|
||||
Plex-API: An Open API Spec for interacting with Plex.tv
|
||||
<!-- End Summary [summary] -->
|
||||
|
||||
<!-- Start Table of Contents [toc] -->
|
||||
## Table of Contents
|
||||
|
||||
* [SDK Installation](#sdk-installation)
|
||||
* [SDK Example Usage](#sdk-example-usage)
|
||||
* [Available Resources and Operations](#available-resources-and-operations)
|
||||
* [Error Handling](#error-handling)
|
||||
* [Server Selection](#server-selection)
|
||||
* [Authentication](#authentication)
|
||||
<!-- End Table of Contents [toc] -->
|
||||
|
||||
<!-- Placeholder for Future Speakeasy SDK Sections -->
|
||||
|
||||
# Development
|
||||
|
||||
12
RELEASES.md
12
RELEASES.md
@@ -74,4 +74,14 @@ Based on:
|
||||
### Generated
|
||||
- [csharp v0.4.1] .
|
||||
### Releases
|
||||
- [NuGet v0.4.1] https://www.nuget.org/packages/PlexAPI/0.4.1 - .
|
||||
- [NuGet v0.4.1] https://www.nuget.org/packages/PlexAPI/0.4.1 - .
|
||||
|
||||
## 2024-08-30 00:09:28
|
||||
### Changes
|
||||
Based on:
|
||||
- OpenAPI Doc
|
||||
- Speakeasy CLI 1.383.2 (2.407.0) https://github.com/speakeasy-api/speakeasy
|
||||
### Generated
|
||||
- [csharp v0.4.2] .
|
||||
### Releases
|
||||
- [NuGet v0.4.2] https://www.nuget.org/packages/PlexAPI/0.4.2 - .
|
||||
3
USAGE.md
3
USAGE.md
@@ -5,7 +5,8 @@ using PlexAPI.Models.Components;
|
||||
|
||||
var sdk = new PlexAPISDK(
|
||||
accessToken: "<YOUR_API_KEY_HERE>",
|
||||
xPlexClientIdentifier: "Postman");
|
||||
xPlexClientIdentifier: "Postman"
|
||||
);
|
||||
|
||||
var res = await sdk.Server.GetServerCapabilitiesAsync();
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# GetLibrariesErrors
|
||||
# GetAllLibrariesErrors
|
||||
|
||||
|
||||
## Fields
|
||||
@@ -1,4 +1,4 @@
|
||||
# GetLibrariesResponseBody
|
||||
# GetAllLibrariesResponseBody
|
||||
|
||||
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
|
||||
|
||||
@@ -7,5 +7,5 @@ Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
|
||||
| `Errors` | List<[GetLibrariesErrors](../../Models/Errors/GetLibrariesErrors.md)> | :heavy_minus_sign: | N/A |
|
||||
| `Errors` | List<[GetAllLibrariesErrors](../../Models/Errors/GetAllLibrariesErrors.md)> | :heavy_minus_sign: | N/A |
|
||||
| `RawResponse` | [HttpResponseMessage](https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpresponsemessage?view=net-5.0) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
|
||||
@@ -1,4 +1,4 @@
|
||||
# GetLibraryErrors
|
||||
# GetLibraryDetailsErrors
|
||||
|
||||
|
||||
## Fields
|
||||
@@ -1,4 +1,4 @@
|
||||
# GetLibraryResponseBody
|
||||
# GetLibraryDetailsResponseBody
|
||||
|
||||
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
|
||||
|
||||
@@ -7,5 +7,5 @@ Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
|
||||
| `Errors` | List<[GetLibraryErrors](../../Models/Errors/GetLibraryErrors.md)> | :heavy_minus_sign: | N/A |
|
||||
| `Errors` | List<[GetLibraryDetailsErrors](../../Models/Errors/GetLibraryDetailsErrors.md)> | :heavy_minus_sign: | N/A |
|
||||
| `RawResponse` | [HttpResponseMessage](https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpresponsemessage?view=net-5.0) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
|
||||
@@ -1,4 +1,4 @@
|
||||
# RefreshLibraryErrors
|
||||
# GetRefreshLibraryMetadataErrors
|
||||
|
||||
|
||||
## Fields
|
||||
@@ -1,4 +1,4 @@
|
||||
# RefreshLibraryResponseBody
|
||||
# GetRefreshLibraryMetadataResponseBody
|
||||
|
||||
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
|
||||
|
||||
@@ -7,5 +7,5 @@ Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
|
||||
| `Errors` | List<[RefreshLibraryErrors](../../Models/Errors/RefreshLibraryErrors.md)> | :heavy_minus_sign: | N/A |
|
||||
| `Errors` | List<[GetRefreshLibraryMetadataErrors](../../Models/Errors/GetRefreshLibraryMetadataErrors.md)> | :heavy_minus_sign: | N/A |
|
||||
| `RawResponse` | [HttpResponseMessage](https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpresponsemessage?view=net-5.0) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
|
||||
@@ -1,4 +1,4 @@
|
||||
# PostSignInErrors
|
||||
# PostUsersSignInDataErrors
|
||||
|
||||
|
||||
## Fields
|
||||
@@ -1,4 +1,4 @@
|
||||
# PostSignInResponseBody
|
||||
# PostUsersSignInDataResponseBody
|
||||
|
||||
Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
|
||||
|
||||
@@ -7,5 +7,5 @@ Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
|
||||
| `Errors` | List<[PostSignInErrors](../../Models/Errors/PostSignInErrors.md)> | :heavy_minus_sign: | N/A |
|
||||
| `Errors` | List<[PostUsersSignInDataErrors](../../Models/Errors/PostUsersSignInDataErrors.md)> | :heavy_minus_sign: | N/A |
|
||||
| `RawResponse` | [HttpResponseMessage](https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpresponsemessage?view=net-5.0) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
|
||||
@@ -3,6 +3,6 @@
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| ------------------------------ | ------------------------------ | ------------------------------ | ------------------------------ | ------------------------------ |
|
||||
| `SectionId` | *double* | :heavy_check_mark: | the Id of the library to query | 1000 |
|
||||
| Field | Type | Required | Description | Example |
|
||||
| --------------------- | --------------------- | --------------------- | --------------------- | --------------------- |
|
||||
| `SectionId` | *double* | :heavy_check_mark: | The id of the library | 15 |
|
||||
@@ -1,10 +1,6 @@
|
||||
# Force
|
||||
|
||||
Force overwriting of duplicate playlists.
|
||||
By default, a playlist file uploaded with the same path will overwrite the existing playlist.
|
||||
The `force` argument is used to disable overwriting.
|
||||
If the `force` argument is set to 0, a new playlist will be created suffixed with the date and time that the duplicate was uploaded.
|
||||
|
||||
Force the refresh even if the library is already being refreshed.
|
||||
|
||||
|
||||
## Values
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# GetLibrariesDirectory
|
||||
# GetAllLibrariesDirectory
|
||||
|
||||
|
||||
## Fields
|
||||
@@ -18,9 +18,9 @@
|
||||
| `Scanner` | *string* | :heavy_minus_sign: | N/A | Plex Movie |
|
||||
| `Language` | *string* | :heavy_minus_sign: | N/A | en-US |
|
||||
| `Uuid` | *string* | :heavy_minus_sign: | N/A | 322a231a-b7f7-49f5-920f-14c61199cd30 |
|
||||
| `UpdatedAt` | *int* | :heavy_minus_sign: | N/A | 1705615634 |
|
||||
| `CreatedAt` | *int* | :heavy_minus_sign: | N/A | 1654131312 |
|
||||
| `ScannedAt` | *int* | :heavy_minus_sign: | N/A | 1705615584 |
|
||||
| `UpdatedAt` | *int* | :heavy_minus_sign: | Unix epoch datetime | 1556281940 |
|
||||
| `CreatedAt` | *int* | :heavy_minus_sign: | Unix epoch datetime | 1556281940 |
|
||||
| `ScannedAt` | *int* | :heavy_minus_sign: | Unix epoch datetime | 1556281940 |
|
||||
| `Content` | *bool* | :heavy_minus_sign: | N/A | true |
|
||||
| `Directory` | *bool* | :heavy_minus_sign: | N/A | true |
|
||||
| `ContentChangedAt` | *int* | :heavy_minus_sign: | N/A | 3192854 |
|
||||
11
docs/Models/Requests/GetAllLibrariesMediaContainer.md
Normal file
11
docs/Models/Requests/GetAllLibrariesMediaContainer.md
Normal file
@@ -0,0 +1,11 @@
|
||||
# GetAllLibrariesMediaContainer
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- |
|
||||
| `Size` | *int* | :heavy_check_mark: | N/A | 5 |
|
||||
| `AllowSync` | *bool* | :heavy_check_mark: | N/A | false |
|
||||
| `Title1` | *string* | :heavy_check_mark: | N/A | Plex Library |
|
||||
| `Directory` | List<[GetAllLibrariesDirectory](../../Models/Requests/GetAllLibrariesDirectory.md)> | :heavy_minus_sign: | N/A | |
|
||||
@@ -1,4 +1,4 @@
|
||||
# GetLibrariesResponse
|
||||
# GetAllLibrariesResponse
|
||||
|
||||
|
||||
## Fields
|
||||
@@ -8,4 +8,4 @@
|
||||
| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
|
||||
| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
|
||||
| `RawResponse` | [HttpResponseMessage](https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpresponsemessage?view=net-5.0) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |
|
||||
| `Object` | [Models.Requests.GetLibrariesResponseBody](../../Models/Requests/GetLibrariesResponseBody.md) | :heavy_minus_sign: | The libraries available on the Server |
|
||||
| `Object` | [Models.Requests.GetAllLibrariesResponseBody](../../Models/Requests/GetAllLibrariesResponseBody.md) | :heavy_minus_sign: | The libraries available on the Server |
|
||||
10
docs/Models/Requests/GetAllLibrariesResponseBody.md
Normal file
10
docs/Models/Requests/GetAllLibrariesResponseBody.md
Normal file
@@ -0,0 +1,10 @@
|
||||
# GetAllLibrariesResponseBody
|
||||
|
||||
The libraries available on the Server
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- |
|
||||
| `MediaContainer` | [GetAllLibrariesMediaContainer](../../Models/Requests/GetAllLibrariesMediaContainer.md) | :heavy_minus_sign: | N/A |
|
||||
@@ -1,11 +0,0 @@
|
||||
# GetLibrariesMediaContainer
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- |
|
||||
| `Size` | *int* | :heavy_minus_sign: | N/A | 5 |
|
||||
| `AllowSync` | *bool* | :heavy_minus_sign: | N/A | false |
|
||||
| `Title1` | *string* | :heavy_minus_sign: | N/A | Plex Library |
|
||||
| `Directory` | List<[GetLibrariesDirectory](../../Models/Requests/GetLibrariesDirectory.md)> | :heavy_minus_sign: | N/A | |
|
||||
@@ -1,10 +0,0 @@
|
||||
# GetLibrariesResponseBody
|
||||
|
||||
The libraries available on the Server
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- |
|
||||
| `MediaContainer` | [GetLibrariesMediaContainer](../../Models/Requests/GetLibrariesMediaContainer.md) | :heavy_minus_sign: | N/A |
|
||||
@@ -1,4 +1,4 @@
|
||||
# GetLibraryDirectory
|
||||
# GetLibraryDetailsDirectory
|
||||
|
||||
|
||||
## Fields
|
||||
@@ -1,4 +1,4 @@
|
||||
# GetLibraryFilter
|
||||
# GetLibraryDetailsFilter
|
||||
|
||||
|
||||
## Fields
|
||||
22
docs/Models/Requests/GetLibraryDetailsMediaContainer.md
Normal file
22
docs/Models/Requests/GetLibraryDetailsMediaContainer.md
Normal file
@@ -0,0 +1,22 @@
|
||||
# GetLibraryDetailsMediaContainer
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- |
|
||||
| `Size` | *int* | :heavy_minus_sign: | N/A | 29 |
|
||||
| `AllowSync` | *bool* | :heavy_minus_sign: | N/A | false |
|
||||
| `Art` | *string* | :heavy_minus_sign: | N/A | /:/resources/movie-fanart.jpg |
|
||||
| `Content` | *string* | :heavy_minus_sign: | N/A | secondary |
|
||||
| `Identifier` | *string* | :heavy_minus_sign: | N/A | com.plexapp.plugins.library |
|
||||
| `LibrarySectionID` | *int* | :heavy_minus_sign: | N/A | 1 |
|
||||
| `MediaTagPrefix` | *string* | :heavy_minus_sign: | N/A | /system/bundle/media/flags/ |
|
||||
| `MediaTagVersion` | *int* | :heavy_minus_sign: | N/A | 1701731894 |
|
||||
| `Thumb` | *string* | :heavy_minus_sign: | N/A | /:/resources/movie.png |
|
||||
| `Title1` | *string* | :heavy_minus_sign: | N/A | Movies |
|
||||
| `ViewGroup` | *string* | :heavy_minus_sign: | N/A | secondary |
|
||||
| `ViewMode` | *int* | :heavy_minus_sign: | N/A | 65592 |
|
||||
| `Directory` | List<[GetLibraryDetailsDirectory](../../Models/Requests/GetLibraryDetailsDirectory.md)> | :heavy_minus_sign: | N/A | |
|
||||
| `Type` | List<[GetLibraryDetailsType](../../Models/Requests/GetLibraryDetailsType.md)> | :heavy_minus_sign: | N/A | |
|
||||
| `FieldType` | List<[FieldType](../../Models/Requests/FieldType.md)> | :heavy_minus_sign: | N/A | |
|
||||
@@ -1,9 +1,9 @@
|
||||
# GetLibraryRequest
|
||||
# GetLibraryDetailsRequest
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| `SectionId` | *double* | :heavy_check_mark: | the Id of the library to query | 1000 |
|
||||
| `SectionId` | *double* | :heavy_check_mark: | The id of the library | 15 |
|
||||
| `IncludeDetails` | [IncludeDetails](../../Models/Requests/IncludeDetails.md) | :heavy_minus_sign: | Whether or not to include details for a section (types, filters, and sorts). <br/>Only exists for backwards compatibility, media providers other than the server libraries have it on always.<br/> | |
|
||||
@@ -1,4 +1,4 @@
|
||||
# GetLibraryResponse
|
||||
# GetLibraryDetailsResponse
|
||||
|
||||
|
||||
## Fields
|
||||
@@ -8,4 +8,4 @@
|
||||
| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
|
||||
| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
|
||||
| `RawResponse` | [HttpResponseMessage](https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpresponsemessage?view=net-5.0) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |
|
||||
| `Object` | [Models.Requests.GetLibraryResponseBody](../../Models/Requests/GetLibraryResponseBody.md) | :heavy_minus_sign: | The details of the library |
|
||||
| `Object` | [Models.Requests.GetLibraryDetailsResponseBody](../../Models/Requests/GetLibraryDetailsResponseBody.md) | :heavy_minus_sign: | The details of the library |
|
||||
10
docs/Models/Requests/GetLibraryDetailsResponseBody.md
Normal file
10
docs/Models/Requests/GetLibraryDetailsResponseBody.md
Normal file
@@ -0,0 +1,10 @@
|
||||
# GetLibraryDetailsResponseBody
|
||||
|
||||
The details of the library
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- |
|
||||
| `MediaContainer` | [GetLibraryDetailsMediaContainer](../../Models/Requests/GetLibraryDetailsMediaContainer.md) | :heavy_minus_sign: | N/A |
|
||||
14
docs/Models/Requests/GetLibraryDetailsType.md
Normal file
14
docs/Models/Requests/GetLibraryDetailsType.md
Normal file
@@ -0,0 +1,14 @@
|
||||
# GetLibraryDetailsType
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- |
|
||||
| `Key` | *string* | :heavy_minus_sign: | N/A | /library/sections/1/all?type=1 |
|
||||
| `Type` | *string* | :heavy_minus_sign: | N/A | movie |
|
||||
| `Title` | *string* | :heavy_minus_sign: | N/A | Movies |
|
||||
| `Active` | *bool* | :heavy_minus_sign: | N/A | false |
|
||||
| `Filter` | List<[GetLibraryDetailsFilter](../../Models/Requests/GetLibraryDetailsFilter.md)> | :heavy_minus_sign: | N/A | |
|
||||
| `Sort` | List<[Sort](../../Models/Requests/Sort.md)> | :heavy_minus_sign: | N/A | |
|
||||
| `Field` | List<[Field](../../Models/Requests/Field.md)> | :heavy_minus_sign: | N/A | |
|
||||
@@ -1,22 +0,0 @@
|
||||
# GetLibraryMediaContainer
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- |
|
||||
| `Size` | *int* | :heavy_minus_sign: | N/A | 29 |
|
||||
| `AllowSync` | *bool* | :heavy_minus_sign: | N/A | false |
|
||||
| `Art` | *string* | :heavy_minus_sign: | N/A | /:/resources/movie-fanart.jpg |
|
||||
| `Content` | *string* | :heavy_minus_sign: | N/A | secondary |
|
||||
| `Identifier` | *string* | :heavy_minus_sign: | N/A | com.plexapp.plugins.library |
|
||||
| `LibrarySectionID` | *int* | :heavy_minus_sign: | N/A | 1 |
|
||||
| `MediaTagPrefix` | *string* | :heavy_minus_sign: | N/A | /system/bundle/media/flags/ |
|
||||
| `MediaTagVersion` | *int* | :heavy_minus_sign: | N/A | 1701731894 |
|
||||
| `Thumb` | *string* | :heavy_minus_sign: | N/A | /:/resources/movie.png |
|
||||
| `Title1` | *string* | :heavy_minus_sign: | N/A | Movies |
|
||||
| `ViewGroup` | *string* | :heavy_minus_sign: | N/A | secondary |
|
||||
| `ViewMode` | *int* | :heavy_minus_sign: | N/A | 65592 |
|
||||
| `Directory` | List<[GetLibraryDirectory](../../Models/Requests/GetLibraryDirectory.md)> | :heavy_minus_sign: | N/A | |
|
||||
| `Type` | List<[GetLibraryType](../../Models/Requests/GetLibraryType.md)> | :heavy_minus_sign: | N/A | |
|
||||
| `FieldType` | List<[FieldType](../../Models/Requests/FieldType.md)> | :heavy_minus_sign: | N/A | |
|
||||
@@ -1,10 +0,0 @@
|
||||
# GetLibraryResponseBody
|
||||
|
||||
The details of the library
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- |
|
||||
| `MediaContainer` | [GetLibraryMediaContainer](../../Models/Requests/GetLibraryMediaContainer.md) | :heavy_minus_sign: | N/A |
|
||||
@@ -1,14 +0,0 @@
|
||||
# GetLibraryType
|
||||
|
||||
|
||||
## Fields
|
||||
|
||||
| Field | Type | Required | Description | Example |
|
||||
| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- |
|
||||
| `Key` | *string* | :heavy_minus_sign: | N/A | /library/sections/1/all?type=1 |
|
||||
| `Type` | *string* | :heavy_minus_sign: | N/A | movie |
|
||||
| `Title` | *string* | :heavy_minus_sign: | N/A | Movies |
|
||||
| `Active` | *bool* | :heavy_minus_sign: | N/A | false |
|
||||
| `Filter` | List<[GetLibraryFilter](../../Models/Requests/GetLibraryFilter.md)> | :heavy_minus_sign: | N/A | |
|
||||
| `Sort` | List<[Sort](../../Models/Requests/Sort.md)> | :heavy_minus_sign: | N/A | |
|
||||
| `Field` | List<[Field](../../Models/Requests/Field.md)> | :heavy_minus_sign: | N/A | |
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user