Compare commits

...

2 Commits

Author SHA1 Message Date
speakeasybot
ec1b25e152 ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.383.2 2024-08-30 00:10:10 +00:00
speakeasybot
cc8bc7366d ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.378.1 2024-08-25 00:10:39 +00:00
167 changed files with 1661 additions and 928 deletions

View File

@@ -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

View File

@@ -12,7 +12,7 @@ generation:
auth:
oAuth2ClientCredentialsEnabled: true
csharp:
version: 0.4.0
version: 0.4.2
additionalDependencies: []
author: LukeHagar
clientServerStatusCodesAsErrors: true

View File

@@ -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

View File

@@ -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();

View File

@@ -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;

View File

@@ -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);
}
}
}
}

View File

@@ -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;

View File

@@ -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;

View File

@@ -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()
{

View File

@@ -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;

View File

@@ -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;

View File

@@ -12,7 +12,7 @@ namespace PlexAPI.Models.Errors
using Newtonsoft.Json;
using PlexAPI.Utils;
public class GetLibrariesErrors
public class GetAllLibrariesErrors
{
[JsonProperty("code")]

View File

@@ -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

View File

@@ -12,7 +12,7 @@ namespace PlexAPI.Models.Errors
using Newtonsoft.Json;
using PlexAPI.Utils;
public class GetLibraryErrors
public class GetLibraryDetailsErrors
{
[JsonProperty("code")]

View File

@@ -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

View File

@@ -12,7 +12,7 @@ namespace PlexAPI.Models.Errors
using Newtonsoft.Json;
using PlexAPI.Utils;
public class RefreshLibraryErrors
public class GetRefreshLibraryMetadataErrors
{
[JsonProperty("code")]

View File

@@ -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

View File

@@ -12,7 +12,7 @@ namespace PlexAPI.Models.Errors
using Newtonsoft.Json;
using PlexAPI.Utils;
public class PostUsersSigninDataErrors
public class PostUsersSignInDataErrors
{
[JsonProperty("code")]

View File

@@ -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

View 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");
}
}
}

View 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");
}
}
}

View 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");
}
}
}

View File

@@ -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!;

View File

@@ -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
{

View File

@@ -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; }

View File

@@ -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; }
}
}

View File

@@ -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; }
}
}

View File

@@ -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; }
}
}

View File

@@ -12,7 +12,7 @@ namespace PlexAPI.Models.Requests
using Newtonsoft.Json;
using PlexAPI.Utils;
public class GetLibraryDirectory
public class GetLibraryDetailsDirectory
{
[JsonProperty("key")]

View File

@@ -12,7 +12,7 @@ namespace PlexAPI.Models.Requests
using Newtonsoft.Json;
using PlexAPI.Utils;
public class GetLibraryFilter
public class GetLibraryDetailsFilter
{
[JsonProperty("filter")]

View File

@@ -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; }

View File

@@ -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!;

View File

@@ -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; }
}
}

View File

@@ -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; }
}
}

View File

@@ -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; }

View File

@@ -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; }
}
}

View File

@@ -13,7 +13,7 @@ namespace PlexAPI.Models.Requests
using System.Net.Http;
using System;
public class RefreshLibraryResponse
public class GetRefreshLibraryMetadataResponse
{
/// <summary>

View File

@@ -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; }
}
}

View File

@@ -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

View File

@@ -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

View File

@@ -18,8 +18,8 @@ namespace PlexAPI.Models.Requests
/// </summary>
public enum MailingListStatus
{
[JsonProperty("subscribed")]
Subscribed,
[JsonProperty("active")]
Active,
[JsonProperty("unsubscribed")]
Unsubscribed,
}

View 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,
}
}

View File

@@ -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!;
}
}

View File

@@ -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");
}
}

View File

@@ -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");
}
}

View File

@@ -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");
}
}

View File

@@ -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&apos;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

View 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 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");
}
}
}

View 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 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");
}
}
}

View 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 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");
}
}
}

View File

@@ -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");
}
}

View File

@@ -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");
}
}

View 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 PostUsersSignInDataMediaReviewsVisibility
{
Zero = 0,
One = 1,
}
}

View File

@@ -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; }
}
}

View File

@@ -14,7 +14,7 @@ namespace PlexAPI.Models.Requests
/// <summary>
/// Login credentials
/// </summary>
public class PostUsersSigninDataRequestBody
public class PostUsersSignInDataRequestBody
{
[SpeakeasyMetadata("form:name=login")]

View File

@@ -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; }
}
}

View File

@@ -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!;
}
}

View File

@@ -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");
}
}

View File

@@ -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");
}
}

View File

@@ -13,19 +13,18 @@ namespace PlexAPI.Models.Requests
using PlexAPI.Models.Requests;
using PlexAPI.Utils;
using System.Collections.Generic;
using System;
/// <summary>
/// If the accounts 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&apos;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

View File

@@ -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 accounts 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

View File

@@ -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; }
}
}

View 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 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");
}
}
}

View 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,
}
}

View File

@@ -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!;
}
}

View File

@@ -13,7 +13,6 @@ namespace PlexAPI.Models.Requests
using PlexAPI.Models.Requests;
using PlexAPI.Utils;
using System.Collections.Generic;
using System;
/// <summary>
/// If the accounts 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

View File

@@ -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!;
}
}

View File

@@ -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; }
}
}

View 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");
}
}
}

View File

@@ -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()
{

View File

@@ -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;

View File

@@ -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>

View File

@@ -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);
}
}

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;

View File

@@ -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);
}
}
}
}

View File

@@ -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;

View File

@@ -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;

View File

@@ -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

View File

@@ -65,3 +65,23 @@ Based on:
- [csharp v0.4.0] .
### Releases
- [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 - .

View File

@@ -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();

View File

@@ -1,4 +1,4 @@
# GetLibrariesErrors
# GetAllLibrariesErrors
## Fields

View File

@@ -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 |

View File

@@ -1,4 +1,4 @@
# GetLibraryErrors
# GetLibraryDetailsErrors
## Fields

View File

@@ -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 |

View File

@@ -1,4 +1,4 @@
# RefreshLibraryErrors
# GetRefreshLibraryMetadataErrors
## Fields

View File

@@ -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 |

View File

@@ -1,4 +1,4 @@
# PostUsersSigninDataErrors
# PostUsersSignInDataErrors
## Fields

View File

@@ -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 |

View 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 |

View 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 |

View 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 |

View File

@@ -4,5 +4,5 @@
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------ | ------------------------------ | ------------------------------ | ------------------------------ | ------------------------------ |
| `SectionId` | *double* | :heavy_check_mark: | the Id of the library to query | 1000 |
| --------------------- | --------------------- | --------------------- | --------------------- | --------------------- |
| `SectionId` | *double* | :heavy_check_mark: | The id of the library | 15 |

View File

@@ -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

View File

@@ -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 |

View 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 | |

View File

@@ -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