mirror of
https://github.com/LukeHagar/plexcsharp.git
synced 2025-12-06 12:37:46 +00:00
Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ec1b25e152 | ||
|
|
cc8bc7366d |
@@ -1,12 +1,12 @@
|
||||
lockVersion: 2.0.0
|
||||
id: 5a8dbcbc-e0ee-41f0-9d84-b8b50567d1e9
|
||||
management:
|
||||
docChecksum: 2ad2b4c59994082e04faa0c3e7675f3e
|
||||
docChecksum: cd46763b91ada69afbe49fa20517839a
|
||||
docVersion: 0.0.3
|
||||
speakeasyVersion: 1.377.3
|
||||
generationVersion: 2.404.2
|
||||
releaseVersion: 0.4.0
|
||||
configChecksum: 0e72845e7bb366c3b8a4e13005a8fcfe
|
||||
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
|
||||
@@ -157,6 +156,11 @@ generatedFiles:
|
||||
- PlexAPI/Models/Requests/GetTokenByPinIdAuthPinContainer.cs
|
||||
- PlexAPI/Models/Requests/GetTokenByPinIdResponse.cs
|
||||
- PlexAPI/Models/Requests/MailingListStatus.cs
|
||||
- PlexAPI/Models/Requests/AutoSelectSubtitle.cs
|
||||
- PlexAPI/Models/Requests/DefaultSubtitleAccessibility.cs
|
||||
- PlexAPI/Models/Requests/DefaultSubtitleForced.cs
|
||||
- PlexAPI/Models/Requests/WatchedIndicator.cs
|
||||
- PlexAPI/Models/Requests/MediaReviewsVisibility.cs
|
||||
- PlexAPI/Models/Requests/UserProfile.cs
|
||||
- PlexAPI/Models/Requests/GetUserDetailsStatus.cs
|
||||
- PlexAPI/Models/Requests/Services.cs
|
||||
@@ -220,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
|
||||
@@ -252,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
|
||||
@@ -347,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
|
||||
@@ -356,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
|
||||
@@ -408,25 +437,6 @@ generatedFiles:
|
||||
- PlexAPI/Models/Requests/Skip.cs
|
||||
- PlexAPI/Models/Requests/ApplyUpdatesRequest.cs
|
||||
- PlexAPI/Models/Requests/ApplyUpdatesResponse.cs
|
||||
- PlexAPI/Models/Requests/PostUsersSigninDataRequestBody.cs
|
||||
- PlexAPI/Models/Requests/PostUsersSigninDataRequest.cs
|
||||
- PlexAPI/Models/Requests/PostUsersSigninDataMailingListStatus.cs
|
||||
- PlexAPI/Models/Requests/PostUsersSigninDataUserProfile.cs
|
||||
- PlexAPI/Models/Requests/PostUsersSigninDataStatus.cs
|
||||
- PlexAPI/Models/Requests/PostUsersSigninDataServices.cs
|
||||
- PlexAPI/Models/Requests/PostUsersSigninDataFeatures.cs
|
||||
- PlexAPI/Models/Requests/PostUsersSigninDataUserStatus.cs
|
||||
- PlexAPI/Models/Requests/PostUsersSigninDataSubscription.cs
|
||||
- PlexAPI/Models/Requests/PostUsersSigninDataUserFeatures.cs
|
||||
- PlexAPI/Models/Requests/PostUsersSigninDataUserResponseStatus.cs
|
||||
- PlexAPI/Models/Requests/PostUsersSigninDataUserSubscription.cs
|
||||
- PlexAPI/Models/Requests/PostUsersSigninDataState.cs
|
||||
- PlexAPI/Models/Requests/InternalPaymentMethod.cs
|
||||
- PlexAPI/Models/Requests/Billing.cs
|
||||
- PlexAPI/Models/Requests/PastSubscription.cs
|
||||
- PlexAPI/Models/Requests/Trials.cs
|
||||
- PlexAPI/Models/Requests/PostUsersSigninDataUserPlexAccount.cs
|
||||
- PlexAPI/Models/Requests/PostUsersSigninDataResponse.cs
|
||||
- PlexAPI/Models/Requests/PathParamFilter.cs
|
||||
- PlexAPI/Models/Requests/Libtype.cs
|
||||
- PlexAPI/Models/Requests/IncludeCollections.cs
|
||||
@@ -506,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
|
||||
@@ -552,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
|
||||
@@ -572,8 +584,6 @@ generatedFiles:
|
||||
- PlexAPI/Models/Errors/CheckForUpdatesResponseBody.cs
|
||||
- PlexAPI/Models/Errors/ApplyUpdatesErrors.cs
|
||||
- PlexAPI/Models/Errors/ApplyUpdatesResponseBody.cs
|
||||
- PlexAPI/Models/Errors/PostUsersSigninDataErrors.cs
|
||||
- PlexAPI/Models/Errors/PostUsersSigninDataResponseBody.cs
|
||||
- PlexAPI/Models/Errors/GetWatchlistErrors.cs
|
||||
- PlexAPI/Models/Errors/GetWatchlistResponseBody.cs
|
||||
- PlexAPI/Models/Components/Security.cs
|
||||
@@ -664,6 +674,11 @@ generatedFiles:
|
||||
- docs/Models/Requests/GetTokenByPinIdAuthPinContainer.md
|
||||
- docs/Models/Requests/GetTokenByPinIdResponse.md
|
||||
- docs/Models/Requests/MailingListStatus.md
|
||||
- docs/Models/Requests/AutoSelectSubtitle.md
|
||||
- docs/Models/Requests/DefaultSubtitleAccessibility.md
|
||||
- docs/Models/Requests/DefaultSubtitleForced.md
|
||||
- docs/Models/Requests/WatchedIndicator.md
|
||||
- docs/Models/Requests/MediaReviewsVisibility.md
|
||||
- docs/Models/Requests/UserProfile.md
|
||||
- docs/Models/Requests/GetUserDetailsStatus.md
|
||||
- docs/Models/Requests/Services.md
|
||||
@@ -727,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
|
||||
@@ -759,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
|
||||
@@ -854,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
|
||||
@@ -863,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
|
||||
@@ -915,25 +955,6 @@ generatedFiles:
|
||||
- docs/Models/Requests/Skip.md
|
||||
- docs/Models/Requests/ApplyUpdatesRequest.md
|
||||
- docs/Models/Requests/ApplyUpdatesResponse.md
|
||||
- docs/Models/Requests/PostUsersSigninDataRequestBody.md
|
||||
- docs/Models/Requests/PostUsersSigninDataRequest.md
|
||||
- docs/Models/Requests/PostUsersSigninDataMailingListStatus.md
|
||||
- docs/Models/Requests/PostUsersSigninDataUserProfile.md
|
||||
- docs/Models/Requests/PostUsersSigninDataStatus.md
|
||||
- docs/Models/Requests/PostUsersSigninDataServices.md
|
||||
- docs/Models/Requests/PostUsersSigninDataFeatures.md
|
||||
- docs/Models/Requests/PostUsersSigninDataUserStatus.md
|
||||
- docs/Models/Requests/PostUsersSigninDataSubscription.md
|
||||
- docs/Models/Requests/PostUsersSigninDataUserFeatures.md
|
||||
- docs/Models/Requests/PostUsersSigninDataUserResponseStatus.md
|
||||
- docs/Models/Requests/PostUsersSigninDataUserSubscription.md
|
||||
- docs/Models/Requests/PostUsersSigninDataState.md
|
||||
- docs/Models/Requests/InternalPaymentMethod.md
|
||||
- docs/Models/Requests/Billing.md
|
||||
- docs/Models/Requests/PastSubscription.md
|
||||
- docs/Models/Requests/Trials.md
|
||||
- docs/Models/Requests/PostUsersSigninDataUserPlexAccount.md
|
||||
- docs/Models/Requests/PostUsersSigninDataResponse.md
|
||||
- docs/Models/Requests/PathParamFilter.md
|
||||
- docs/Models/Requests/Libtype.md
|
||||
- docs/Models/Requests/IncludeCollections.md
|
||||
@@ -1013,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
|
||||
@@ -1059,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
|
||||
@@ -1079,8 +1102,6 @@ generatedFiles:
|
||||
- docs/Models/Errors/CheckForUpdatesResponseBody.md
|
||||
- docs/Models/Errors/ApplyUpdatesErrors.md
|
||||
- docs/Models/Errors/ApplyUpdatesResponseBody.md
|
||||
- docs/Models/Errors/PostUsersSigninDataErrors.md
|
||||
- docs/Models/Errors/PostUsersSigninDataResponseBody.md
|
||||
- docs/Models/Errors/GetWatchlistErrors.md
|
||||
- docs/Models/Errors/GetWatchlistResponseBody.md
|
||||
- docs/Models/Components/Security.md
|
||||
@@ -1100,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.0
|
||||
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:15b51e83587ffa99b9534e1343c332817af732e91a7a3317354e5e286abb559b
|
||||
sourceBlobDigest: sha256:dd6f90b552b01f3e1a76d15a9202d64ba0dcc4cb192794e85213096a7d64a9c4
|
||||
sourceRevisionDigest: sha256:c6e5a38f9c953eb820ac1b5cb6d5aade8ee11a7bdb5b568147fd677d61b3a3c5
|
||||
sourceBlobDigest: sha256:730391fe626304e22e265f9470902fc083d5e6110d20d87cdc3ac7da6b4982de
|
||||
tags:
|
||||
- latest
|
||||
- main
|
||||
@@ -11,8 +11,8 @@ targets:
|
||||
plexcsharp:
|
||||
source: my-source
|
||||
sourceNamespace: my-source
|
||||
sourceRevisionDigest: sha256:15b51e83587ffa99b9534e1343c332817af732e91a7a3317354e5e286abb559b
|
||||
sourceBlobDigest: sha256:dd6f90b552b01f3e1a76d15a9202d64ba0dcc4cb192794e85213096a7d64a9c4
|
||||
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.0";
|
||||
private const string _sdkGenVersion = "2.404.2";
|
||||
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.0 2.404.2 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.0";
|
||||
private const string _sdkGenVersion = "2.404.2";
|
||||
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.0 2.404.2 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.0";
|
||||
private const string _sdkGenVersion = "2.404.2";
|
||||
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.0 2.404.2 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.0";
|
||||
private const string _sdkGenVersion = "2.404.2";
|
||||
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.0 2.404.2 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.0";
|
||||
private const string _sdkGenVersion = "2.404.2";
|
||||
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.0 2.404.2 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.0";
|
||||
private const string _sdkGenVersion = "2.404.2";
|
||||
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.0 2.404.2 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.0";
|
||||
private const string _sdkGenVersion = "2.404.2";
|
||||
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.0 2.404.2 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 GetLibrariesResponseBody : Exception
|
||||
public class GetAllLibrariesResponseBody : Exception
|
||||
{
|
||||
|
||||
[JsonProperty("errors")]
|
||||
public List<GetLibrariesErrors>? Errors { get; set; }
|
||||
public List<GetAllLibrariesErrors>? Errors { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Raw HTTP response; suitable for custom response parsing
|
||||
@@ -12,7 +12,7 @@ namespace PlexAPI.Models.Errors
|
||||
using Newtonsoft.Json;
|
||||
using PlexAPI.Utils;
|
||||
|
||||
public class GetLibraryErrors
|
||||
public class 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 RefreshLibraryResponseBody : Exception
|
||||
public class GetLibraryDetailsResponseBody : Exception
|
||||
{
|
||||
|
||||
[JsonProperty("errors")]
|
||||
public List<RefreshLibraryErrors>? 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 PostUsersSigninDataErrors
|
||||
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 PostUsersSigninDataResponseBody : Exception
|
||||
public class PostUsersSignInDataResponseBody : Exception
|
||||
{
|
||||
|
||||
[JsonProperty("errors")]
|
||||
public List<PostUsersSigninDataErrors>? Errors { get; set; }
|
||||
public List<PostUsersSignInDataErrors>? Errors { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Raw HTTP response; suitable for custom response parsing
|
||||
60
PlexAPI/Models/Requests/AutoSelectSubtitle.cs
Normal file
60
PlexAPI/Models/Requests/AutoSelectSubtitle.cs
Normal file
@@ -0,0 +1,60 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost when
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
#nullable enable
|
||||
namespace PlexAPI.Models.Requests
|
||||
{
|
||||
using Newtonsoft.Json;
|
||||
using PlexAPI.Utils;
|
||||
using System;
|
||||
|
||||
/// <summary>
|
||||
/// The auto-select subtitle mode (0 = Manually selected, 1 = Shown with foreign audio, 2 = Always enabled)
|
||||
/// </summary>
|
||||
public enum AutoSelectSubtitle
|
||||
{
|
||||
[JsonProperty("0")]
|
||||
Zero,
|
||||
[JsonProperty("1")]
|
||||
One,
|
||||
}
|
||||
|
||||
public static class AutoSelectSubtitleExtension
|
||||
{
|
||||
public static string Value(this AutoSelectSubtitle value)
|
||||
{
|
||||
return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString();
|
||||
}
|
||||
|
||||
public static AutoSelectSubtitle ToEnum(this string value)
|
||||
{
|
||||
foreach(var field in typeof(AutoSelectSubtitle).GetFields())
|
||||
{
|
||||
var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false);
|
||||
if (attributes.Length == 0)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
var attribute = attributes[0] as JsonPropertyAttribute;
|
||||
if (attribute != null && attribute.PropertyName == value)
|
||||
{
|
||||
var enumVal = field.GetValue(null);
|
||||
|
||||
if (enumVal is AutoSelectSubtitle)
|
||||
{
|
||||
return (AutoSelectSubtitle)enumVal;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
throw new Exception($"Unknown value {value} for enum AutoSelectSubtitle");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
60
PlexAPI/Models/Requests/DefaultSubtitleAccessibility.cs
Normal file
60
PlexAPI/Models/Requests/DefaultSubtitleAccessibility.cs
Normal file
@@ -0,0 +1,60 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost when
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
#nullable enable
|
||||
namespace PlexAPI.Models.Requests
|
||||
{
|
||||
using Newtonsoft.Json;
|
||||
using PlexAPI.Utils;
|
||||
using System;
|
||||
|
||||
/// <summary>
|
||||
/// The subtitles for the deaf or hard-of-hearing (SDH) searches mode (0 = Prefer non-SDH subtitles, 1 = Prefer SDH subtitles, 2 = Only show SDH subtitles, 3 = Only shown non-SDH subtitles)
|
||||
/// </summary>
|
||||
public enum DefaultSubtitleAccessibility
|
||||
{
|
||||
[JsonProperty("0")]
|
||||
Zero,
|
||||
[JsonProperty("1")]
|
||||
One,
|
||||
}
|
||||
|
||||
public static class DefaultSubtitleAccessibilityExtension
|
||||
{
|
||||
public static string Value(this DefaultSubtitleAccessibility value)
|
||||
{
|
||||
return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString();
|
||||
}
|
||||
|
||||
public static DefaultSubtitleAccessibility ToEnum(this string value)
|
||||
{
|
||||
foreach(var field in typeof(DefaultSubtitleAccessibility).GetFields())
|
||||
{
|
||||
var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false);
|
||||
if (attributes.Length == 0)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
var attribute = attributes[0] as JsonPropertyAttribute;
|
||||
if (attribute != null && attribute.PropertyName == value)
|
||||
{
|
||||
var enumVal = field.GetValue(null);
|
||||
|
||||
if (enumVal is DefaultSubtitleAccessibility)
|
||||
{
|
||||
return (DefaultSubtitleAccessibility)enumVal;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
throw new Exception($"Unknown value {value} for enum DefaultSubtitleAccessibility");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
60
PlexAPI/Models/Requests/DefaultSubtitleForced.cs
Normal file
60
PlexAPI/Models/Requests/DefaultSubtitleForced.cs
Normal file
@@ -0,0 +1,60 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost when
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
#nullable enable
|
||||
namespace PlexAPI.Models.Requests
|
||||
{
|
||||
using Newtonsoft.Json;
|
||||
using PlexAPI.Utils;
|
||||
using System;
|
||||
|
||||
/// <summary>
|
||||
/// The forced subtitles searches mode (0 = Prefer non-forced subtitles, 1 = Prefer forced subtitles, 2 = Only show forced subtitles, 3 = Only show non-forced subtitles)
|
||||
/// </summary>
|
||||
public enum DefaultSubtitleForced
|
||||
{
|
||||
[JsonProperty("0")]
|
||||
Zero,
|
||||
[JsonProperty("1")]
|
||||
One,
|
||||
}
|
||||
|
||||
public static class DefaultSubtitleForcedExtension
|
||||
{
|
||||
public static string Value(this DefaultSubtitleForced value)
|
||||
{
|
||||
return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString();
|
||||
}
|
||||
|
||||
public static DefaultSubtitleForced ToEnum(this string value)
|
||||
{
|
||||
foreach(var field in typeof(DefaultSubtitleForced).GetFields())
|
||||
{
|
||||
var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false);
|
||||
if (attributes.Length == 0)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
var attribute = attributes[0] as JsonPropertyAttribute;
|
||||
if (attribute != null && attribute.PropertyName == value)
|
||||
{
|
||||
var enumVal = field.GetValue(null);
|
||||
|
||||
if (enumVal is DefaultSubtitleForced)
|
||||
{
|
||||
return (DefaultSubtitleForced)enumVal;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
throw new Exception($"Unknown value {value} for enum DefaultSubtitleForced");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -15,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; }
|
||||
}
|
||||
}
|
||||
@@ -13,7 +13,6 @@ namespace PlexAPI.Models.Requests
|
||||
using PlexAPI.Models.Requests;
|
||||
using PlexAPI.Utils;
|
||||
using System.Collections.Generic;
|
||||
using System;
|
||||
|
||||
public class GetUserDetailsSubscription
|
||||
{
|
||||
@@ -34,7 +33,7 @@ namespace PlexAPI.Models.Requests
|
||||
/// Date the account subscribed to Plex Pass
|
||||
/// </summary>
|
||||
[JsonProperty("subscribedAt")]
|
||||
public DateTime? SubscribedAt { get; set; }
|
||||
public string? SubscribedAt { get; set; } = null;
|
||||
|
||||
/// <summary>
|
||||
/// String representation of subscriptionActive
|
||||
|
||||
@@ -173,7 +173,7 @@ namespace PlexAPI.Models.Requests
|
||||
public string? Pin { get; set; }
|
||||
|
||||
[JsonProperty("profile")]
|
||||
public List<UserProfile> Profile { get; set; } = default!;
|
||||
public UserProfile Profile { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// If the account has a Plex Home PIN enabled
|
||||
|
||||
@@ -18,8 +18,8 @@ namespace PlexAPI.Models.Requests
|
||||
/// </summary>
|
||||
public enum MailingListStatus
|
||||
{
|
||||
[JsonProperty("subscribed")]
|
||||
Subscribed,
|
||||
[JsonProperty("active")]
|
||||
Active,
|
||||
[JsonProperty("unsubscribed")]
|
||||
Unsubscribed,
|
||||
}
|
||||
|
||||
20
PlexAPI/Models/Requests/MediaReviewsVisibility.cs
Normal file
20
PlexAPI/Models/Requests/MediaReviewsVisibility.cs
Normal file
@@ -0,0 +1,20 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost when
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
#nullable enable
|
||||
namespace PlexAPI.Models.Requests
|
||||
{
|
||||
using PlexAPI.Utils;
|
||||
|
||||
public enum MediaReviewsVisibility
|
||||
{
|
||||
Zero = 0,
|
||||
One = 1,
|
||||
}
|
||||
|
||||
}
|
||||
@@ -12,7 +12,6 @@ namespace PlexAPI.Models.Requests
|
||||
using Newtonsoft.Json;
|
||||
using PlexAPI.Models.Requests;
|
||||
using PlexAPI.Utils;
|
||||
using System.Collections.Generic;
|
||||
|
||||
public class PastSubscription
|
||||
{
|
||||
@@ -23,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; }
|
||||
|
||||
@@ -63,9 +56,9 @@ namespace PlexAPI.Models.Requests
|
||||
public string? Transfer { get; set; }
|
||||
|
||||
[JsonProperty("state")]
|
||||
public PostUsersSigninDataState State { get; set; } = default!;
|
||||
public PostUsersSignInDataState State { get; set; } = default!;
|
||||
|
||||
[JsonProperty("billing")]
|
||||
public List<Billing> Billing { get; set; } = default!;
|
||||
public Billing Billing { get; set; } = default!;
|
||||
}
|
||||
}
|
||||
@@ -13,7 +13,7 @@ namespace PlexAPI.Models.Requests
|
||||
using PlexAPI.Utils;
|
||||
using System;
|
||||
|
||||
public enum PostUsersSigninDataUserFeatures
|
||||
public enum PostUsersSignInDataAuthenticationFeatures
|
||||
{
|
||||
[JsonProperty("Android - Dolby Vision")]
|
||||
AndroidDolbyVision,
|
||||
@@ -135,16 +135,16 @@ namespace PlexAPI.Models.Requests
|
||||
WebServerDashboard,
|
||||
}
|
||||
|
||||
public static class PostUsersSigninDataUserFeaturesExtension
|
||||
public static class PostUsersSignInDataAuthenticationFeaturesExtension
|
||||
{
|
||||
public static string Value(this PostUsersSigninDataUserFeatures 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 PostUsersSigninDataUserFeatures ToEnum(this string value)
|
||||
public static PostUsersSignInDataAuthenticationFeatures ToEnum(this string value)
|
||||
{
|
||||
foreach(var field in typeof(PostUsersSigninDataUserFeatures).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 PostUsersSigninDataUserFeatures)
|
||||
if (enumVal is PostUsersSignInDataAuthenticationFeatures)
|
||||
{
|
||||
return (PostUsersSigninDataUserFeatures)enumVal;
|
||||
return (PostUsersSignInDataAuthenticationFeatures)enumVal;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
throw new Exception($"Unknown value {value} for enum PostUsersSigninDataUserFeatures");
|
||||
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 PostUsersSigninDataUserResponseStatus
|
||||
public enum PostUsersSignInDataAuthenticationResponseStatus
|
||||
{
|
||||
[JsonProperty("Inactive")]
|
||||
Inactive,
|
||||
@@ -24,16 +24,16 @@ namespace PlexAPI.Models.Requests
|
||||
Active,
|
||||
}
|
||||
|
||||
public static class PostUsersSigninDataUserResponseStatusExtension
|
||||
public static class PostUsersSignInDataAuthenticationResponseStatusExtension
|
||||
{
|
||||
public static string Value(this PostUsersSigninDataUserResponseStatus 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 PostUsersSigninDataUserResponseStatus ToEnum(this string value)
|
||||
public static PostUsersSignInDataAuthenticationResponseStatus ToEnum(this string value)
|
||||
{
|
||||
foreach(var field in typeof(PostUsersSigninDataUserResponseStatus).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 PostUsersSigninDataUserResponseStatus)
|
||||
if (enumVal is PostUsersSignInDataAuthenticationResponseStatus)
|
||||
{
|
||||
return (PostUsersSigninDataUserResponseStatus)enumVal;
|
||||
return (PostUsersSignInDataAuthenticationResponseStatus)enumVal;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
throw new Exception($"Unknown value {value} for enum PostUsersSigninDataUserResponseStatus");
|
||||
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 PostUsersSigninDataUserStatus
|
||||
public enum PostUsersSignInDataAuthenticationStatus
|
||||
{
|
||||
[JsonProperty("Inactive")]
|
||||
Inactive,
|
||||
@@ -24,16 +24,16 @@ namespace PlexAPI.Models.Requests
|
||||
Active,
|
||||
}
|
||||
|
||||
public static class PostUsersSigninDataUserStatusExtension
|
||||
public static class PostUsersSignInDataAuthenticationStatusExtension
|
||||
{
|
||||
public static string Value(this PostUsersSigninDataUserStatus 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 PostUsersSigninDataUserStatus ToEnum(this string value)
|
||||
public static PostUsersSignInDataAuthenticationStatus ToEnum(this string value)
|
||||
{
|
||||
foreach(var field in typeof(PostUsersSigninDataUserStatus).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 PostUsersSigninDataUserStatus)
|
||||
if (enumVal is PostUsersSignInDataAuthenticationStatus)
|
||||
{
|
||||
return (PostUsersSigninDataUserStatus)enumVal;
|
||||
return (PostUsersSignInDataAuthenticationStatus)enumVal;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
throw new Exception($"Unknown value {value} for enum PostUsersSigninDataUserStatus");
|
||||
throw new Exception($"Unknown value {value} for enum PostUsersSignInDataAuthenticationStatus");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,16 +13,15 @@ namespace PlexAPI.Models.Requests
|
||||
using PlexAPI.Models.Requests;
|
||||
using PlexAPI.Utils;
|
||||
using System.Collections.Generic;
|
||||
using System;
|
||||
|
||||
public class PostUsersSigninDataUserSubscription
|
||||
public class PostUsersSignInDataAuthenticationSubscription
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// List of features allowed on your Plex Pass subscription
|
||||
/// </summary>
|
||||
[JsonProperty("features")]
|
||||
public List<PostUsersSigninDataUserFeatures>? Features { get; set; }
|
||||
public List<PostUsersSignInDataAuthenticationFeatures>? Features { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// If the account's Plex Pass subscription is active
|
||||
@@ -34,13 +33,13 @@ namespace PlexAPI.Models.Requests
|
||||
/// Date the account subscribed to Plex Pass
|
||||
/// </summary>
|
||||
[JsonProperty("subscribedAt")]
|
||||
public DateTime? SubscribedAt { get; set; }
|
||||
public string? SubscribedAt { get; set; } = null;
|
||||
|
||||
/// <summary>
|
||||
/// String representation of subscriptionActive
|
||||
/// </summary>
|
||||
[JsonProperty("status")]
|
||||
public PostUsersSigninDataUserResponseStatus? Status { get; set; }
|
||||
public PostUsersSignInDataAuthenticationResponseStatus? Status { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Payment service used for your Plex Pass subscription
|
||||
@@ -0,0 +1,60 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost when
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
#nullable enable
|
||||
namespace PlexAPI.Models.Requests
|
||||
{
|
||||
using Newtonsoft.Json;
|
||||
using PlexAPI.Utils;
|
||||
using System;
|
||||
|
||||
/// <summary>
|
||||
/// The auto-select subtitle mode (0 = Manually selected, 1 = Shown with foreign audio, 2 = Always enabled)
|
||||
/// </summary>
|
||||
public enum PostUsersSignInDataAutoSelectSubtitle
|
||||
{
|
||||
[JsonProperty("0")]
|
||||
Zero,
|
||||
[JsonProperty("1")]
|
||||
One,
|
||||
}
|
||||
|
||||
public static class PostUsersSignInDataAutoSelectSubtitleExtension
|
||||
{
|
||||
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 PostUsersSignInDataAutoSelectSubtitle ToEnum(this string value)
|
||||
{
|
||||
foreach(var field in typeof(PostUsersSignInDataAutoSelectSubtitle).GetFields())
|
||||
{
|
||||
var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false);
|
||||
if (attributes.Length == 0)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
var attribute = attributes[0] as JsonPropertyAttribute;
|
||||
if (attribute != null && attribute.PropertyName == value)
|
||||
{
|
||||
var enumVal = field.GetValue(null);
|
||||
|
||||
if (enumVal is PostUsersSignInDataAutoSelectSubtitle)
|
||||
{
|
||||
return (PostUsersSignInDataAutoSelectSubtitle)enumVal;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
throw new Exception($"Unknown value {value} for enum PostUsersSignInDataAutoSelectSubtitle");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,60 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost when
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
#nullable enable
|
||||
namespace PlexAPI.Models.Requests
|
||||
{
|
||||
using Newtonsoft.Json;
|
||||
using PlexAPI.Utils;
|
||||
using System;
|
||||
|
||||
/// <summary>
|
||||
/// The subtitles for the deaf or hard-of-hearing (SDH) searches mode (0 = Prefer non-SDH subtitles, 1 = Prefer SDH subtitles, 2 = Only show SDH subtitles, 3 = Only shown non-SDH subtitles)
|
||||
/// </summary>
|
||||
public enum PostUsersSignInDataDefaultSubtitleAccessibility
|
||||
{
|
||||
[JsonProperty("0")]
|
||||
Zero,
|
||||
[JsonProperty("1")]
|
||||
One,
|
||||
}
|
||||
|
||||
public static class PostUsersSignInDataDefaultSubtitleAccessibilityExtension
|
||||
{
|
||||
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 PostUsersSignInDataDefaultSubtitleAccessibility ToEnum(this string value)
|
||||
{
|
||||
foreach(var field in typeof(PostUsersSignInDataDefaultSubtitleAccessibility).GetFields())
|
||||
{
|
||||
var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false);
|
||||
if (attributes.Length == 0)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
var attribute = attributes[0] as JsonPropertyAttribute;
|
||||
if (attribute != null && attribute.PropertyName == value)
|
||||
{
|
||||
var enumVal = field.GetValue(null);
|
||||
|
||||
if (enumVal is PostUsersSignInDataDefaultSubtitleAccessibility)
|
||||
{
|
||||
return (PostUsersSignInDataDefaultSubtitleAccessibility)enumVal;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
throw new Exception($"Unknown value {value} for enum PostUsersSignInDataDefaultSubtitleAccessibility");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,60 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost when
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
#nullable enable
|
||||
namespace PlexAPI.Models.Requests
|
||||
{
|
||||
using Newtonsoft.Json;
|
||||
using PlexAPI.Utils;
|
||||
using System;
|
||||
|
||||
/// <summary>
|
||||
/// The forced subtitles searches mode (0 = Prefer non-forced subtitles, 1 = Prefer forced subtitles, 2 = Only show forced subtitles, 3 = Only show non-forced subtitles)
|
||||
/// </summary>
|
||||
public enum PostUsersSignInDataDefaultSubtitleForced
|
||||
{
|
||||
[JsonProperty("0")]
|
||||
Zero,
|
||||
[JsonProperty("1")]
|
||||
One,
|
||||
}
|
||||
|
||||
public static class PostUsersSignInDataDefaultSubtitleForcedExtension
|
||||
{
|
||||
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 PostUsersSignInDataDefaultSubtitleForced ToEnum(this string value)
|
||||
{
|
||||
foreach(var field in typeof(PostUsersSignInDataDefaultSubtitleForced).GetFields())
|
||||
{
|
||||
var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false);
|
||||
if (attributes.Length == 0)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
var attribute = attributes[0] as JsonPropertyAttribute;
|
||||
if (attribute != null && attribute.PropertyName == value)
|
||||
{
|
||||
var enumVal = field.GetValue(null);
|
||||
|
||||
if (enumVal is PostUsersSignInDataDefaultSubtitleForced)
|
||||
{
|
||||
return (PostUsersSignInDataDefaultSubtitleForced)enumVal;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
throw new Exception($"Unknown value {value} for enum PostUsersSignInDataDefaultSubtitleForced");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -13,7 +13,7 @@ namespace PlexAPI.Models.Requests
|
||||
using PlexAPI.Utils;
|
||||
using System;
|
||||
|
||||
public enum PostUsersSigninDataFeatures
|
||||
public enum PostUsersSignInDataFeatures
|
||||
{
|
||||
[JsonProperty("Android - Dolby Vision")]
|
||||
AndroidDolbyVision,
|
||||
@@ -135,16 +135,16 @@ namespace PlexAPI.Models.Requests
|
||||
WebServerDashboard,
|
||||
}
|
||||
|
||||
public static class PostUsersSigninDataFeaturesExtension
|
||||
public static class PostUsersSignInDataFeaturesExtension
|
||||
{
|
||||
public static string Value(this PostUsersSigninDataFeatures 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 PostUsersSigninDataFeatures ToEnum(this string value)
|
||||
public static PostUsersSignInDataFeatures ToEnum(this string value)
|
||||
{
|
||||
foreach(var field in typeof(PostUsersSigninDataFeatures).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 PostUsersSigninDataFeatures)
|
||||
if (enumVal is PostUsersSignInDataFeatures)
|
||||
{
|
||||
return (PostUsersSigninDataFeatures)enumVal;
|
||||
return (PostUsersSignInDataFeatures)enumVal;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
throw new Exception($"Unknown value {value} for enum PostUsersSigninDataFeatures");
|
||||
throw new Exception($"Unknown value {value} for enum PostUsersSignInDataFeatures");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,24 +16,24 @@ namespace PlexAPI.Models.Requests
|
||||
/// <summary>
|
||||
/// Your current mailing list status
|
||||
/// </summary>
|
||||
public enum PostUsersSigninDataMailingListStatus
|
||||
public enum PostUsersSignInDataMailingListStatus
|
||||
{
|
||||
[JsonProperty("subscribed")]
|
||||
Subscribed,
|
||||
[JsonProperty("active")]
|
||||
Active,
|
||||
[JsonProperty("unsubscribed")]
|
||||
Unsubscribed,
|
||||
}
|
||||
|
||||
public static class PostUsersSigninDataMailingListStatusExtension
|
||||
public static class PostUsersSignInDataMailingListStatusExtension
|
||||
{
|
||||
public static string Value(this PostUsersSigninDataMailingListStatus 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 PostUsersSigninDataMailingListStatus ToEnum(this string value)
|
||||
public static PostUsersSignInDataMailingListStatus ToEnum(this string value)
|
||||
{
|
||||
foreach(var field in typeof(PostUsersSigninDataMailingListStatus).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 PostUsersSigninDataMailingListStatus)
|
||||
if (enumVal is PostUsersSignInDataMailingListStatus)
|
||||
{
|
||||
return (PostUsersSigninDataMailingListStatus)enumVal;
|
||||
return (PostUsersSignInDataMailingListStatus)enumVal;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
throw new Exception($"Unknown value {value} for enum PostUsersSigninDataMailingListStatus");
|
||||
throw new Exception($"Unknown value {value} for enum PostUsersSignInDataMailingListStatus");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost when
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
#nullable enable
|
||||
namespace PlexAPI.Models.Requests
|
||||
{
|
||||
using PlexAPI.Utils;
|
||||
|
||||
public enum PostUsersSignInDataMediaReviewsVisibility
|
||||
{
|
||||
Zero = 0,
|
||||
One = 1,
|
||||
}
|
||||
|
||||
}
|
||||
@@ -12,7 +12,7 @@ namespace PlexAPI.Models.Requests
|
||||
using PlexAPI.Models.Requests;
|
||||
using PlexAPI.Utils;
|
||||
|
||||
public class PostUsersSigninDataRequest
|
||||
public class PostUsersSignInDataRequest
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
@@ -31,6 +31,6 @@ namespace PlexAPI.Models.Requests
|
||||
/// Login credentials
|
||||
/// </summary>
|
||||
[SpeakeasyMetadata("request:mediaType=application/x-www-form-urlencoded")]
|
||||
public PostUsersSigninDataRequestBody? RequestBody { get; set; }
|
||||
public PostUsersSignInDataRequestBody? RequestBody { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -14,7 +14,7 @@ namespace PlexAPI.Models.Requests
|
||||
/// <summary>
|
||||
/// Login credentials
|
||||
/// </summary>
|
||||
public class PostUsersSigninDataRequestBody
|
||||
public class PostUsersSignInDataRequestBody
|
||||
{
|
||||
|
||||
[SpeakeasyMetadata("form:name=login")]
|
||||
@@ -14,7 +14,7 @@ namespace PlexAPI.Models.Requests
|
||||
using System.Net.Http;
|
||||
using System;
|
||||
|
||||
public class PostUsersSigninDataResponse
|
||||
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 PostUsersSigninDataUserPlexAccount? 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 PostUsersSigninDataServices
|
||||
public class PostUsersSignInDataServices
|
||||
{
|
||||
|
||||
[JsonProperty("identifier")]
|
||||
@@ -29,6 +29,6 @@ namespace PlexAPI.Models.Requests
|
||||
public string? Secret { get; set; }
|
||||
|
||||
[JsonProperty("status")]
|
||||
public PostUsersSigninDataStatus 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 PostUsersSigninDataState
|
||||
public enum PostUsersSignInDataState
|
||||
{
|
||||
[JsonProperty("ended")]
|
||||
Ended,
|
||||
}
|
||||
|
||||
public static class PostUsersSigninDataStateExtension
|
||||
public static class PostUsersSignInDataStateExtension
|
||||
{
|
||||
public static string Value(this PostUsersSigninDataState 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 PostUsersSigninDataState ToEnum(this string value)
|
||||
public static PostUsersSignInDataState ToEnum(this string value)
|
||||
{
|
||||
foreach(var field in typeof(PostUsersSigninDataState).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 PostUsersSigninDataState)
|
||||
if (enumVal is PostUsersSignInDataState)
|
||||
{
|
||||
return (PostUsersSigninDataState)enumVal;
|
||||
return (PostUsersSignInDataState)enumVal;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
throw new Exception($"Unknown value {value} for enum PostUsersSigninDataState");
|
||||
throw new Exception($"Unknown value {value} for enum PostUsersSignInDataState");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@ namespace PlexAPI.Models.Requests
|
||||
using PlexAPI.Utils;
|
||||
using System;
|
||||
|
||||
public enum PostUsersSigninDataStatus
|
||||
public enum PostUsersSignInDataStatus
|
||||
{
|
||||
[JsonProperty("online")]
|
||||
Online,
|
||||
@@ -21,16 +21,16 @@ namespace PlexAPI.Models.Requests
|
||||
Offline,
|
||||
}
|
||||
|
||||
public static class PostUsersSigninDataStatusExtension
|
||||
public static class PostUsersSignInDataStatusExtension
|
||||
{
|
||||
public static string Value(this PostUsersSigninDataStatus 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 PostUsersSigninDataStatus ToEnum(this string value)
|
||||
public static PostUsersSignInDataStatus ToEnum(this string value)
|
||||
{
|
||||
foreach(var field in typeof(PostUsersSigninDataStatus).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 PostUsersSigninDataStatus)
|
||||
if (enumVal is PostUsersSignInDataStatus)
|
||||
{
|
||||
return (PostUsersSigninDataStatus)enumVal;
|
||||
return (PostUsersSignInDataStatus)enumVal;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
throw new Exception($"Unknown value {value} for enum PostUsersSigninDataStatus");
|
||||
throw new Exception($"Unknown value {value} for enum PostUsersSignInDataStatus");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,19 +13,18 @@ namespace PlexAPI.Models.Requests
|
||||
using PlexAPI.Models.Requests;
|
||||
using PlexAPI.Utils;
|
||||
using System.Collections.Generic;
|
||||
using System;
|
||||
|
||||
/// <summary>
|
||||
/// If the account’s Plex Pass subscription is active
|
||||
/// </summary>
|
||||
public class PostUsersSigninDataSubscription
|
||||
public class PostUsersSignInDataSubscription
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// List of features allowed on your Plex Pass subscription
|
||||
/// </summary>
|
||||
[JsonProperty("features")]
|
||||
public List<PostUsersSigninDataFeatures>? Features { get; set; }
|
||||
public List<PostUsersSignInDataFeatures>? Features { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// If the account's Plex Pass subscription is active
|
||||
@@ -37,13 +36,13 @@ namespace PlexAPI.Models.Requests
|
||||
/// Date the account subscribed to Plex Pass
|
||||
/// </summary>
|
||||
[JsonProperty("subscribedAt")]
|
||||
public DateTime? SubscribedAt { get; set; }
|
||||
public string? SubscribedAt { get; set; } = null;
|
||||
|
||||
/// <summary>
|
||||
/// String representation of subscriptionActive
|
||||
/// </summary>
|
||||
[JsonProperty("status")]
|
||||
public PostUsersSigninDataUserStatus? 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 PostUsersSigninDataUserPlexAccount
|
||||
public class PostUsersSignInDataUserPlexAccount
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
@@ -157,7 +157,7 @@ namespace PlexAPI.Models.Requests
|
||||
/// Your current mailing list status
|
||||
/// </summary>
|
||||
[JsonProperty("mailingListStatus")]
|
||||
public PostUsersSigninDataMailingListStatus 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 List<PostUsersSigninDataUserProfile> 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<PostUsersSigninDataServices> 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 PostUsersSigninDataSubscription 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<PostUsersSigninDataUserSubscription> Subscriptions { get; set; } = default!;
|
||||
public List<PostUsersSignInDataAuthenticationSubscription> Subscriptions { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// URL of the account thumbnail
|
||||
@@ -10,9 +10,10 @@
|
||||
namespace PlexAPI.Models.Requests
|
||||
{
|
||||
using Newtonsoft.Json;
|
||||
using PlexAPI.Models.Requests;
|
||||
using PlexAPI.Utils;
|
||||
|
||||
public class PostUsersSigninDataUserProfile
|
||||
public class PostUsersSignInDataUserProfile
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
@@ -24,37 +25,37 @@ namespace PlexAPI.Models.Requests
|
||||
/// <summary>
|
||||
/// The preferred audio language for the account
|
||||
/// </summary>
|
||||
[JsonProperty("defaultAudioLanguage")]
|
||||
[JsonProperty("defaultAudioLanguage", NullValueHandling = NullValueHandling.Include)]
|
||||
public string? DefaultAudioLanguage { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// The preferred subtitle language for the account
|
||||
/// </summary>
|
||||
[JsonProperty("defaultSubtitleLanguage")]
|
||||
[JsonProperty("defaultSubtitleLanguage", NullValueHandling = NullValueHandling.Include)]
|
||||
public string? DefaultSubtitleLanguage { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// The auto-select subtitle mode (0 = Manually selected, 1 = Shown with foreign audio, 2 = Always enabled)
|
||||
/// </summary>
|
||||
[JsonProperty("autoSelectSubtitle")]
|
||||
public long? 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 long? 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 long? DefaultSubtitleForced { get; set; }
|
||||
public PostUsersSignInDataDefaultSubtitleForced? DefaultSubtitleForced { get; set; }
|
||||
|
||||
[JsonProperty("watchedIndicator")]
|
||||
public long? WatchedIndicator { get; set; }
|
||||
public PostUsersSignInDataWatchedIndicator? WatchedIndicator { get; set; }
|
||||
|
||||
[JsonProperty("mediaReviewsVisibility")]
|
||||
public long? MediaReviewsVisibility { get; set; }
|
||||
public PostUsersSignInDataMediaReviewsVisibility? MediaReviewsVisibility { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,57 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost when
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
#nullable enable
|
||||
namespace PlexAPI.Models.Requests
|
||||
{
|
||||
using Newtonsoft.Json;
|
||||
using PlexAPI.Utils;
|
||||
using System;
|
||||
|
||||
public enum PostUsersSignInDataWatchedIndicator
|
||||
{
|
||||
[JsonProperty("0")]
|
||||
Zero,
|
||||
[JsonProperty("1")]
|
||||
One,
|
||||
}
|
||||
|
||||
public static class PostUsersSignInDataWatchedIndicatorExtension
|
||||
{
|
||||
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 PostUsersSignInDataWatchedIndicator ToEnum(this string value)
|
||||
{
|
||||
foreach(var field in typeof(PostUsersSignInDataWatchedIndicator).GetFields())
|
||||
{
|
||||
var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false);
|
||||
if (attributes.Length == 0)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
var attribute = attributes[0] as JsonPropertyAttribute;
|
||||
if (attribute != null && attribute.PropertyName == value)
|
||||
{
|
||||
var enumVal = field.GetValue(null);
|
||||
|
||||
if (enumVal is PostUsersSignInDataWatchedIndicator)
|
||||
{
|
||||
return (PostUsersSignInDataWatchedIndicator)enumVal;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
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!;
|
||||
}
|
||||
}
|
||||
@@ -13,7 +13,6 @@ namespace PlexAPI.Models.Requests
|
||||
using PlexAPI.Models.Requests;
|
||||
using PlexAPI.Utils;
|
||||
using System.Collections.Generic;
|
||||
using System;
|
||||
|
||||
/// <summary>
|
||||
/// If the account’s Plex Pass subscription is active
|
||||
@@ -37,7 +36,7 @@ namespace PlexAPI.Models.Requests
|
||||
/// Date the account subscribed to Plex Pass
|
||||
/// </summary>
|
||||
[JsonProperty("subscribedAt")]
|
||||
public DateTime? SubscribedAt { get; set; }
|
||||
public string? SubscribedAt { get; set; } = null;
|
||||
|
||||
/// <summary>
|
||||
/// String representation of subscriptionActive
|
||||
|
||||
@@ -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!;
|
||||
}
|
||||
}
|
||||
@@ -10,6 +10,7 @@
|
||||
namespace PlexAPI.Models.Requests
|
||||
{
|
||||
using Newtonsoft.Json;
|
||||
using PlexAPI.Models.Requests;
|
||||
using PlexAPI.Utils;
|
||||
|
||||
public class UserProfile
|
||||
@@ -24,37 +25,37 @@ namespace PlexAPI.Models.Requests
|
||||
/// <summary>
|
||||
/// The preferred audio language for the account
|
||||
/// </summary>
|
||||
[JsonProperty("defaultAudioLanguage")]
|
||||
[JsonProperty("defaultAudioLanguage", NullValueHandling = NullValueHandling.Include)]
|
||||
public string? DefaultAudioLanguage { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// The preferred subtitle language for the account
|
||||
/// </summary>
|
||||
[JsonProperty("defaultSubtitleLanguage")]
|
||||
[JsonProperty("defaultSubtitleLanguage", NullValueHandling = NullValueHandling.Include)]
|
||||
public string? DefaultSubtitleLanguage { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// The auto-select subtitle mode (0 = Manually selected, 1 = Shown with foreign audio, 2 = Always enabled)
|
||||
/// </summary>
|
||||
[JsonProperty("autoSelectSubtitle")]
|
||||
public long? AutoSelectSubtitle { get; set; }
|
||||
public AutoSelectSubtitle? 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 long? DefaultSubtitleAccessibility { get; set; }
|
||||
public DefaultSubtitleAccessibility? 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 long? DefaultSubtitleForced { get; set; }
|
||||
public DefaultSubtitleForced? DefaultSubtitleForced { get; set; }
|
||||
|
||||
[JsonProperty("watchedIndicator")]
|
||||
public long? WatchedIndicator { get; set; }
|
||||
public WatchedIndicator? WatchedIndicator { get; set; }
|
||||
|
||||
[JsonProperty("mediaReviewsVisibility")]
|
||||
public long? MediaReviewsVisibility { get; set; }
|
||||
public MediaReviewsVisibility? MediaReviewsVisibility { get; set; }
|
||||
}
|
||||
}
|
||||
57
PlexAPI/Models/Requests/WatchedIndicator.cs
Normal file
57
PlexAPI/Models/Requests/WatchedIndicator.cs
Normal file
@@ -0,0 +1,57 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost when
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
#nullable enable
|
||||
namespace PlexAPI.Models.Requests
|
||||
{
|
||||
using Newtonsoft.Json;
|
||||
using PlexAPI.Utils;
|
||||
using System;
|
||||
|
||||
public enum WatchedIndicator
|
||||
{
|
||||
[JsonProperty("0")]
|
||||
Zero,
|
||||
[JsonProperty("1")]
|
||||
One,
|
||||
}
|
||||
|
||||
public static class WatchedIndicatorExtension
|
||||
{
|
||||
public static string Value(this WatchedIndicator value)
|
||||
{
|
||||
return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString();
|
||||
}
|
||||
|
||||
public static WatchedIndicator ToEnum(this string value)
|
||||
{
|
||||
foreach(var field in typeof(WatchedIndicator).GetFields())
|
||||
{
|
||||
var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false);
|
||||
if (attributes.Length == 0)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
var attribute = attributes[0] as JsonPropertyAttribute;
|
||||
if (attribute != null && attribute.PropertyName == value)
|
||||
{
|
||||
var enumVal = field.GetValue(null);
|
||||
|
||||
if (enumVal is WatchedIndicator)
|
||||
{
|
||||
return (WatchedIndicator)enumVal;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
throw new Exception($"Unknown value {value} for enum WatchedIndicator");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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.0";
|
||||
private const string _sdkGenVersion = "2.404.2";
|
||||
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.0 2.404.2 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.0";
|
||||
private const string _sdkGenVersion = "2.404.2";
|
||||
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.0 2.404.2 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.0</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.0";
|
||||
private const string _sdkGenVersion = "2.404.2";
|
||||
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.0 2.404.2 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.0";
|
||||
private const string _sdkGenVersion = "2.404.2";
|
||||
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.0 2.404.2 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.0";
|
||||
private const string _sdkGenVersion = "2.404.2";
|
||||
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.0 2.404.2 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.0";
|
||||
private const string _sdkGenVersion = "2.404.2";
|
||||
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.0 2.404.2 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.0";
|
||||
private const string _sdkGenVersion = "2.404.2";
|
||||
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.0 2.404.2 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.0";
|
||||
private const string _sdkGenVersion = "2.404.2";
|
||||
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.0 2.404.2 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<PostUsersSigninDataResponse> PostUsersSigninDataAsync(string? xPlexClientIdentifier = null, PostUsersSigninDataRequestBody? 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-users-signin-data operation.
|
||||
/// </summary>
|
||||
public static readonly string[] PostUsersSigninDataServerList = {
|
||||
"https://plex.tv/api/v2",
|
||||
};
|
||||
public SDKConfig SDKConfiguration { get; private set; }
|
||||
private const string _language = "csharp";
|
||||
private const string _sdkVersion = "0.4.0";
|
||||
private const string _sdkGenVersion = "2.404.2";
|
||||
private const string _openapiDocVersion = "0.0.3";
|
||||
private const string _userAgent = "speakeasy-sdk/csharp 0.4.0 2.404.2 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<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-signin-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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -62,10 +62,10 @@ namespace PlexAPI
|
||||
{
|
||||
public SDKConfig SDKConfiguration { get; private set; }
|
||||
private const string _language = "csharp";
|
||||
private const string _sdkVersion = "0.4.0";
|
||||
private const string _sdkGenVersion = "2.404.2";
|
||||
private const string _sdkVersion = "0.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.0 2.404.2 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.0";
|
||||
private const string _sdkGenVersion = "2.404.2";
|
||||
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.0 2.404.2 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)
|
||||
|
||||
* [PostUsersSigninData](docs/sdks/user/README.md#postuserssignindata) - 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
|
||||
|
||||
22
RELEASES.md
22
RELEASES.md
@@ -64,4 +64,24 @@ Based on:
|
||||
### Generated
|
||||
- [csharp v0.4.0] .
|
||||
### Releases
|
||||
- [NuGet v0.4.0] https://www.nuget.org/packages/PlexAPI/0.4.0 - .
|
||||
- [NuGet v0.4.0] https://www.nuget.org/packages/PlexAPI/0.4.0 - .
|
||||
|
||||
## 2024-08-25 00:09:48
|
||||
### Changes
|
||||
Based on:
|
||||
- OpenAPI Doc
|
||||
- Speakeasy CLI 1.378.1 (2.404.3) https://github.com/speakeasy-api/speakeasy
|
||||
### Generated
|
||||
- [csharp v0.4.1] .
|
||||
### Releases
|
||||
- [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 @@
|
||||
# PostUsersSigninDataErrors
|
||||
# PostUsersSignInDataErrors
|
||||
|
||||
|
||||
## Fields
|
||||
@@ -1,4 +1,4 @@
|
||||
# PostUsersSigninDataResponseBody
|
||||
# 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<[PostUsersSigninDataErrors](../../Models/Errors/PostUsersSigninDataErrors.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 |
|
||||
11
docs/Models/Requests/AutoSelectSubtitle.md
Normal file
11
docs/Models/Requests/AutoSelectSubtitle.md
Normal file
@@ -0,0 +1,11 @@
|
||||
# AutoSelectSubtitle
|
||||
|
||||
The auto-select subtitle mode (0 = Manually selected, 1 = Shown with foreign audio, 2 = Always enabled)
|
||||
|
||||
|
||||
## Values
|
||||
|
||||
| Name | Value |
|
||||
| ------ | ------ |
|
||||
| `Zero` | 0 |
|
||||
| `One` | 1 |
|
||||
11
docs/Models/Requests/DefaultSubtitleAccessibility.md
Normal file
11
docs/Models/Requests/DefaultSubtitleAccessibility.md
Normal file
@@ -0,0 +1,11 @@
|
||||
# DefaultSubtitleAccessibility
|
||||
|
||||
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)
|
||||
|
||||
|
||||
## Values
|
||||
|
||||
| Name | Value |
|
||||
| ------ | ------ |
|
||||
| `Zero` | 0 |
|
||||
| `One` | 1 |
|
||||
11
docs/Models/Requests/DefaultSubtitleForced.md
Normal file
11
docs/Models/Requests/DefaultSubtitleForced.md
Normal file
@@ -0,0 +1,11 @@
|
||||
# DefaultSubtitleForced
|
||||
|
||||
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)
|
||||
|
||||
|
||||
## Values
|
||||
|
||||
| Name | Value |
|
||||
| ------ | ------ |
|
||||
| `Zero` | 0 |
|
||||
| `One` | 1 |
|
||||
@@ -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 |
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user