diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index e44fe82..e7a516f 100755 --- a/.speakeasy/gen.lock +++ b/.speakeasy/gen.lock @@ -1,12 +1,12 @@ lockVersion: 2.0.0 id: 5a8dbcbc-e0ee-41f0-9d84-b8b50567d1e9 management: - docChecksum: a643a64d282d705e3e24f61ed6f068c6 + docChecksum: 14b35829d4be91a88269761c3ed01426 docVersion: 0.0.3 - speakeasyVersion: 1.476.1 - generationVersion: 2.495.1 - releaseVersion: 0.13.3 - configChecksum: 8935c34c667c2424274fa8b5e578ece9 + speakeasyVersion: 1.484.1 + generationVersion: 2.503.2 + releaseVersion: 0.13.4 + configChecksum: c05208ba767db4b6c55bb4346c69baba repoURL: https://github.com/LukeHagar/plexcsharp.git repoSubDirectory: . published: true @@ -14,7 +14,7 @@ features: csharp: additionalDependencies: 0.1.0 constsAndDefaults: 0.0.1 - core: 3.10.11 + core: 3.10.13 deprecations: 2.81.2 enums: 2.82.0 errors: 0.2.0 @@ -105,6 +105,10 @@ generatedFiles: - LukeHagar/PlexAPI/SDK/Models/Errors/GetCompanionsDataErrors.cs - LukeHagar/PlexAPI/SDK/Models/Errors/GetCompanionsDataPlexErrors.cs - LukeHagar/PlexAPI/SDK/Models/Errors/GetCompanionsDataUnauthorized.cs + - LukeHagar/PlexAPI/SDK/Models/Errors/GetCountriesLibraryBadRequest.cs + - LukeHagar/PlexAPI/SDK/Models/Errors/GetCountriesLibraryErrors.cs + - LukeHagar/PlexAPI/SDK/Models/Errors/GetCountriesLibraryLibraryErrors.cs + - LukeHagar/PlexAPI/SDK/Models/Errors/GetCountriesLibraryUnauthorized.cs - LukeHagar/PlexAPI/SDK/Models/Errors/GetDevicesBadRequest.cs - LukeHagar/PlexAPI/SDK/Models/Errors/GetDevicesErrors.cs - LukeHagar/PlexAPI/SDK/Models/Errors/GetDevicesServerErrors.cs @@ -113,6 +117,10 @@ generatedFiles: - LukeHagar/PlexAPI/SDK/Models/Errors/GetFileHashErrors.cs - LukeHagar/PlexAPI/SDK/Models/Errors/GetFileHashLibraryErrors.cs - LukeHagar/PlexAPI/SDK/Models/Errors/GetFileHashUnauthorized.cs + - LukeHagar/PlexAPI/SDK/Models/Errors/GetGenresLibraryBadRequest.cs + - LukeHagar/PlexAPI/SDK/Models/Errors/GetGenresLibraryErrors.cs + - LukeHagar/PlexAPI/SDK/Models/Errors/GetGenresLibraryLibraryErrors.cs + - LukeHagar/PlexAPI/SDK/Models/Errors/GetGenresLibraryUnauthorized.cs - LukeHagar/PlexAPI/SDK/Models/Errors/GetGeoDataBadRequest.cs - LukeHagar/PlexAPI/SDK/Models/Errors/GetGeoDataErrors.cs - LukeHagar/PlexAPI/SDK/Models/Errors/GetGeoDataPlexErrors.cs @@ -413,11 +421,21 @@ generatedFiles: - LukeHagar/PlexAPI/SDK/Models/Requests/GetButlerTasksResponse.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetButlerTasksResponseBody.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetCompanionsDataResponse.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetCountriesLibraryDirectory.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetCountriesLibraryMediaContainer.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetCountriesLibraryRequest.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetCountriesLibraryResponse.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetCountriesLibraryResponseBody.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetDevicesMediaContainer.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetDevicesResponse.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetDevicesResponseBody.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetFileHashRequest.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetFileHashResponse.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetGenresLibraryDirectory.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetGenresLibraryMediaContainer.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetGenresLibraryRequest.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetGenresLibraryResponse.cs + - LukeHagar/PlexAPI/SDK/Models/Requests/GetGenresLibraryResponseBody.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetGeoDataGeoData.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetGeoDataResponse.cs - LukeHagar/PlexAPI/SDK/Models/Requests/GetGlobalHubsMediaContainer.cs @@ -934,6 +952,10 @@ generatedFiles: - docs/Models/Errors/GetCompanionsDataErrors.md - docs/Models/Errors/GetCompanionsDataPlexErrors.md - docs/Models/Errors/GetCompanionsDataUnauthorized.md + - docs/Models/Errors/GetCountriesLibraryBadRequest.md + - docs/Models/Errors/GetCountriesLibraryErrors.md + - docs/Models/Errors/GetCountriesLibraryLibraryErrors.md + - docs/Models/Errors/GetCountriesLibraryUnauthorized.md - docs/Models/Errors/GetDevicesBadRequest.md - docs/Models/Errors/GetDevicesErrors.md - docs/Models/Errors/GetDevicesServerErrors.md @@ -942,6 +964,10 @@ generatedFiles: - docs/Models/Errors/GetFileHashErrors.md - docs/Models/Errors/GetFileHashLibraryErrors.md - docs/Models/Errors/GetFileHashUnauthorized.md + - docs/Models/Errors/GetGenresLibraryBadRequest.md + - docs/Models/Errors/GetGenresLibraryErrors.md + - docs/Models/Errors/GetGenresLibraryLibraryErrors.md + - docs/Models/Errors/GetGenresLibraryUnauthorized.md - docs/Models/Errors/GetGeoDataBadRequest.md - docs/Models/Errors/GetGeoDataErrors.md - docs/Models/Errors/GetGeoDataPlexErrors.md @@ -1241,11 +1267,21 @@ generatedFiles: - docs/Models/Requests/GetButlerTasksResponse.md - docs/Models/Requests/GetButlerTasksResponseBody.md - docs/Models/Requests/GetCompanionsDataResponse.md + - docs/Models/Requests/GetCountriesLibraryDirectory.md + - docs/Models/Requests/GetCountriesLibraryMediaContainer.md + - docs/Models/Requests/GetCountriesLibraryRequest.md + - docs/Models/Requests/GetCountriesLibraryResponse.md + - docs/Models/Requests/GetCountriesLibraryResponseBody.md - docs/Models/Requests/GetDevicesMediaContainer.md - docs/Models/Requests/GetDevicesResponse.md - docs/Models/Requests/GetDevicesResponseBody.md - docs/Models/Requests/GetFileHashRequest.md - docs/Models/Requests/GetFileHashResponse.md + - docs/Models/Requests/GetGenresLibraryDirectory.md + - docs/Models/Requests/GetGenresLibraryMediaContainer.md + - docs/Models/Requests/GetGenresLibraryRequest.md + - docs/Models/Requests/GetGenresLibraryResponse.md + - docs/Models/Requests/GetGenresLibraryResponseBody.md - docs/Models/Requests/GetGeoDataGeoData.md - docs/Models/Requests/GetGeoDataResponse.md - docs/Models/Requests/GetGlobalHubsMediaContainer.md @@ -2675,5 +2711,29 @@ examples: application/json: {"errors": [{"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}, {"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}]} "401": application/json: {"errors": [{"code": 1001, "message": "User could not be authenticated", "status": 401}]} + get-genres-library: + speakeasy-default-get-genres-library: + parameters: + path: + sectionKey: 9518 + responses: + "200": + application/json: {"MediaContainer": {"size": 50, "identifier": "com.plexapp.plugins.library", "allowSync": false, "art": "/:/resources/show-fanart.jpg", "content": "secondary", "mediaTagPrefix": "/system/bundle/media/flags/", "mediaTagVersion": 1734362201, "nocache": true, "thumb": "/:/resources/show.png", "title1": "TV Shows (Reality)", "title2": "By Genre", "viewGroup": "secondary", "Directory": [{"fastKey": "/library/sections/10/all?genre=89", "key": "89", "title": "Action", "type": "genre"}]}} + "400": + application/json: {"errors": [{"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}]} + "401": + application/json: {"errors": [{"code": 1001, "message": "User could not be authenticated", "status": 401}, {"code": 1001, "message": "User could not be authenticated", "status": 401}, {"code": 1001, "message": "User could not be authenticated", "status": 401}]} + get-countries-library: + speakeasy-default-get-countries-library: + parameters: + path: + sectionKey: 9518 + responses: + "200": + application/json: {"MediaContainer": {"size": 50, "identifier": "com.plexapp.plugins.library", "allowSync": false, "art": "/:/resources/show-fanart.jpg", "content": "secondary", "mediaTagPrefix": "/system/bundle/media/flags/", "mediaTagVersion": 1734362201, "nocache": true, "thumb": "/:/resources/show.png", "title1": "TV Series", "title2": "By Country", "viewGroup": "secondary", "Directory": [{"fastKey": "/library/sections/2/all?country=15491", "key": "15491", "title": "Japan"}]}} + "400": + application/json: {"errors": [{"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}, {"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}]} + "401": + application/json: {"errors": [{"code": 1001, "message": "User could not be authenticated", "status": 401}, {"code": 1001, "message": "User could not be authenticated", "status": 401}, {"code": 1001, "message": "User could not be authenticated", "status": 401}]} examplesVersion: 1.0.0 generatedTests: {} diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index b5bfe9c..d42060b 100644 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -13,7 +13,7 @@ generation: oAuth2ClientCredentialsEnabled: true oAuth2PasswordEnabled: false csharp: - version: 0.13.3 + version: 0.13.4 additionalDependencies: [] author: LukeHagar clientServerStatusCodesAsErrors: true diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index 6d3e0de..e0b4d65 100644 --- a/.speakeasy/workflow.lock +++ b/.speakeasy/workflow.lock @@ -1,4 +1,4 @@ -speakeasyVersion: 1.476.1 +speakeasyVersion: 1.484.1 sources: my-source: sourceNamespace: my-source @@ -16,19 +16,19 @@ sources: - main plexapi: sourceNamespace: plexapi - sourceRevisionDigest: sha256:e73707dfae50d22dab2166b1661938446b9831bcee252ecd696a1172dfd6ae2c - sourceBlobDigest: sha256:e06caa091ad527fd21714fc0d43e7ea385e181fbad8c4f60296457a89a23c696 + sourceRevisionDigest: sha256:0b88c8bfc41def63e19e91fdd4d51bab07cb947cc3d39d2b44e8523a209cec10 + sourceBlobDigest: sha256:89d5b8427d4fb61b25751aebbaf71f9613958e9e91073fc084fed2c2ec62ce55 tags: - latest - - speakeasy-sdk-regen-1737937314 + - speakeasy-sdk-regen-1738714877 targets: plexcsharp: source: plexapi sourceNamespace: plexapi - sourceRevisionDigest: sha256:e73707dfae50d22dab2166b1661938446b9831bcee252ecd696a1172dfd6ae2c - sourceBlobDigest: sha256:e06caa091ad527fd21714fc0d43e7ea385e181fbad8c4f60296457a89a23c696 + sourceRevisionDigest: sha256:0b88c8bfc41def63e19e91fdd4d51bab07cb947cc3d39d2b44e8523a209cec10 + sourceBlobDigest: sha256:89d5b8427d4fb61b25751aebbaf71f9613958e9e91073fc084fed2c2ec62ce55 codeSamplesNamespace: code-samples-csharp-plexcsharp - codeSamplesRevisionDigest: sha256:5e0af91c57fa956696c40bd25f45ae6bca5f5c20cd930411928095eb7daea754 + codeSamplesRevisionDigest: sha256:88936de014527ae45d25e2fb54ad227d5d6b173c4085c5b60daf42335a0b0305 workflow: workflowVersion: 1.0.0 speakeasyVersion: latest diff --git a/LukeHagar/PlexAPI/SDK/Activities.cs b/LukeHagar/PlexAPI/SDK/Activities.cs index 13c9021..fde33e9 100644 --- a/LukeHagar/PlexAPI/SDK/Activities.cs +++ b/LukeHagar/PlexAPI/SDK/Activities.cs @@ -74,10 +74,10 @@ namespace LukeHagar.PlexAPI.SDK { public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.13.3"; - private const string _sdkGenVersion = "2.495.1"; + private const string _sdkVersion = "0.13.4"; + private const string _sdkGenVersion = "2.503.2"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.13.3 2.495.1 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.13.4 2.503.2 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; diff --git a/LukeHagar/PlexAPI/SDK/Authentication.cs b/LukeHagar/PlexAPI/SDK/Authentication.cs index 8924841..4199b44 100644 --- a/LukeHagar/PlexAPI/SDK/Authentication.cs +++ b/LukeHagar/PlexAPI/SDK/Authentication.cs @@ -95,10 +95,10 @@ namespace LukeHagar.PlexAPI.SDK }; public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.13.3"; - private const string _sdkGenVersion = "2.495.1"; + private const string _sdkVersion = "0.13.4"; + private const string _sdkGenVersion = "2.503.2"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.13.3 2.495.1 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.13.4 2.503.2 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; diff --git a/LukeHagar/PlexAPI/SDK/Butler.cs b/LukeHagar/PlexAPI/SDK/Butler.cs index 16be714..8bb51a9 100644 --- a/LukeHagar/PlexAPI/SDK/Butler.cs +++ b/LukeHagar/PlexAPI/SDK/Butler.cs @@ -101,10 +101,10 @@ namespace LukeHagar.PlexAPI.SDK { public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.13.3"; - private const string _sdkGenVersion = "2.495.1"; + private const string _sdkVersion = "0.13.4"; + private const string _sdkGenVersion = "2.503.2"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.13.3 2.495.1 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.13.4 2.503.2 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; diff --git a/LukeHagar/PlexAPI/SDK/Hubs.cs b/LukeHagar/PlexAPI/SDK/Hubs.cs index 6970f41..4c867ac 100644 --- a/LukeHagar/PlexAPI/SDK/Hubs.cs +++ b/LukeHagar/PlexAPI/SDK/Hubs.cs @@ -73,10 +73,10 @@ namespace LukeHagar.PlexAPI.SDK { public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.13.3"; - private const string _sdkGenVersion = "2.495.1"; + private const string _sdkVersion = "0.13.4"; + private const string _sdkGenVersion = "2.503.2"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.13.3 2.495.1 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.13.4 2.503.2 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; diff --git a/LukeHagar/PlexAPI/SDK/Library.cs b/LukeHagar/PlexAPI/SDK/Library.cs index 9b4e14c..d530884 100644 --- a/LukeHagar/PlexAPI/SDK/Library.cs +++ b/LukeHagar/PlexAPI/SDK/Library.cs @@ -190,6 +190,26 @@ namespace LukeHagar.PlexAPI.SDK /// Task GetSearchLibraryAsync(int sectionKey, GetSearchLibraryQueryParamType type); + /// + /// Get Genres of library media + /// + /// + /// Retrieves a list of all the genres that are found for the media in this library.
+ /// + ///
+ ///
+ Task GetGenresLibraryAsync(int sectionKey); + + /// + /// Get Countries of library media + /// + /// + /// Retrieves a list of all the countries that are found for the media in this library.
+ /// + ///
+ ///
+ Task GetCountriesLibraryAsync(int sectionKey); + /// /// Search All Libraries /// @@ -252,10 +272,10 @@ namespace LukeHagar.PlexAPI.SDK { public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.13.3"; - private const string _sdkGenVersion = "2.495.1"; + private const string _sdkVersion = "0.13.4"; + private const string _sdkGenVersion = "2.503.2"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.13.3 2.495.1 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.13.4 2.503.2 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; @@ -1069,6 +1089,214 @@ namespace LukeHagar.PlexAPI.SDK throw new Models.Errors.SDKException("Unknown status code received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse); } + public async Task GetGenresLibraryAsync(int sectionKey) + { + var request = new GetGenresLibraryRequest() + { + SectionKey = sectionKey, + }; + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/library/sections/{sectionKey}/genre", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("get-genres-library", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await _client.SendAsync(httpRequest); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 404 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new GetGenresLibraryResponse() + { + StatusCode = responseStatusCode, + ContentType = contentType, + RawResponse = httpResponse + }; + response.Object = obj; + return response; + } + + throw new Models.Errors.SDKException("Unknown content type received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + obj!.RawResponse = httpResponse; + throw obj!; + } + + throw new Models.Errors.SDKException("Unknown content type received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + obj!.RawResponse = httpResponse; + throw obj!; + } + + throw new Models.Errors.SDKException("Unknown content type received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse); + } + else if(responseStatusCode == 404 || responseStatusCode >= 400 && responseStatusCode < 500) + { + throw new Models.Errors.SDKException("API error occurred", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse); + } + else if(responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.SDKException("API error occurred", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse); + } + + throw new Models.Errors.SDKException("Unknown status code received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse); + } + + public async Task GetCountriesLibraryAsync(int sectionKey) + { + var request = new GetCountriesLibraryRequest() + { + SectionKey = sectionKey, + }; + string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); + var urlString = URLBuilder.Build(baseUrl, "/library/sections/{sectionKey}/country", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + + if (_securitySource != null) + { + httpRequest = new SecurityMetadata(_securitySource).Apply(httpRequest); + } + + var hookCtx = new HookContext("get-countries-library", null, _securitySource); + + httpRequest = await this.SDKConfiguration.Hooks.BeforeRequestAsync(new BeforeRequestContext(hookCtx), httpRequest); + + HttpResponseMessage httpResponse; + try + { + httpResponse = await _client.SendAsync(httpRequest); + int _statusCode = (int)httpResponse.StatusCode; + + if (_statusCode == 400 || _statusCode == 401 || _statusCode == 404 || _statusCode >= 400 && _statusCode < 500 || _statusCode >= 500 && _statusCode < 600) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), httpResponse, null); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + } + } + catch (Exception error) + { + var _httpResponse = await this.SDKConfiguration.Hooks.AfterErrorAsync(new AfterErrorContext(hookCtx), null, error); + if (_httpResponse != null) + { + httpResponse = _httpResponse; + } + else + { + throw; + } + } + + httpResponse = await this.SDKConfiguration.Hooks.AfterSuccessAsync(new AfterSuccessContext(hookCtx), httpResponse); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + int responseStatusCode = (int)httpResponse.StatusCode; + if(responseStatusCode == 200) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + var response = new GetCountriesLibraryResponse() + { + StatusCode = responseStatusCode, + ContentType = contentType, + RawResponse = httpResponse + }; + response.Object = obj; + return response; + } + + throw new Models.Errors.SDKException("Unknown content type received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse); + } + else if(responseStatusCode == 400) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + obj!.RawResponse = httpResponse; + throw obj!; + } + + throw new Models.Errors.SDKException("Unknown content type received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse); + } + else if(responseStatusCode == 401) + { + if(Utilities.IsContentTypeMatch("application/json", contentType)) + { + var obj = ResponseBodyDeserializer.Deserialize(await httpResponse.Content.ReadAsStringAsync(), NullValueHandling.Ignore); + obj!.RawResponse = httpResponse; + throw obj!; + } + + throw new Models.Errors.SDKException("Unknown content type received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse); + } + else if(responseStatusCode == 404 || responseStatusCode >= 400 && responseStatusCode < 500) + { + throw new Models.Errors.SDKException("API error occurred", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse); + } + else if(responseStatusCode >= 500 && responseStatusCode < 600) + { + throw new Models.Errors.SDKException("API error occurred", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse); + } + + throw new Models.Errors.SDKException("Unknown status code received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse); + } + public async Task GetSearchAllLibrariesAsync(GetSearchAllLibrariesRequest request) { string baseUrl = this.SDKConfiguration.GetTemplatedServerUrl(); diff --git a/LukeHagar/PlexAPI/SDK/Log.cs b/LukeHagar/PlexAPI/SDK/Log.cs index 6417407..c2d717e 100644 --- a/LukeHagar/PlexAPI/SDK/Log.cs +++ b/LukeHagar/PlexAPI/SDK/Log.cs @@ -94,10 +94,10 @@ namespace LukeHagar.PlexAPI.SDK { public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.13.3"; - private const string _sdkGenVersion = "2.495.1"; + private const string _sdkVersion = "0.13.4"; + private const string _sdkGenVersion = "2.503.2"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.13.3 2.495.1 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.13.4 2.503.2 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; diff --git a/LukeHagar/PlexAPI/SDK/LukeHagar.PlexAPI.SDK.csproj b/LukeHagar/PlexAPI/SDK/LukeHagar.PlexAPI.SDK.csproj index 675179e..5f7c107 100644 --- a/LukeHagar/PlexAPI/SDK/LukeHagar.PlexAPI.SDK.csproj +++ b/LukeHagar/PlexAPI/SDK/LukeHagar.PlexAPI.SDK.csproj @@ -3,7 +3,7 @@ true LukeHagar.PlexAPI.SDK - 0.13.3 + 0.13.4 net8.0 LukeHagar Copyright (c) LukeHagar 2025 diff --git a/LukeHagar/PlexAPI/SDK/Media.cs b/LukeHagar/PlexAPI/SDK/Media.cs index aaed2d3..686b782 100644 --- a/LukeHagar/PlexAPI/SDK/Media.cs +++ b/LukeHagar/PlexAPI/SDK/Media.cs @@ -90,10 +90,10 @@ namespace LukeHagar.PlexAPI.SDK { public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.13.3"; - private const string _sdkGenVersion = "2.495.1"; + private const string _sdkVersion = "0.13.4"; + private const string _sdkGenVersion = "2.503.2"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.13.3 2.495.1 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.13.4 2.503.2 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; diff --git a/LukeHagar/PlexAPI/SDK/Models/Errors/GetCountriesLibraryBadRequest.cs b/LukeHagar/PlexAPI/SDK/Models/Errors/GetCountriesLibraryBadRequest.cs new file mode 100644 index 0000000..ea8f1c4 --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Errors/GetCountriesLibraryBadRequest.cs @@ -0,0 +1,34 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Errors +{ + using LukeHagar.PlexAPI.SDK.Models.Errors; + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + using System; + using System.Collections.Generic; + using System.Net.Http; + + /// + /// Bad Request - A parameter was not specified, or was specified incorrectly. + /// + public class GetCountriesLibraryBadRequest : Exception + { + + [JsonProperty("errors")] + public List? Errors { get; set; } + + /// + /// Raw HTTP response; suitable for custom response parsing + /// + [JsonProperty("-")] + public HttpResponseMessage? RawResponse { get; set; } + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Errors/GetCountriesLibraryErrors.cs b/LukeHagar/PlexAPI/SDK/Models/Errors/GetCountriesLibraryErrors.cs new file mode 100644 index 0000000..e42a14f --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Errors/GetCountriesLibraryErrors.cs @@ -0,0 +1,27 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Errors +{ + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + + public class GetCountriesLibraryErrors + { + + [JsonProperty("code")] + public int? Code { get; set; } + + [JsonProperty("message")] + public string? Message { get; set; } + + [JsonProperty("status")] + public int? Status { get; set; } + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Errors/GetCountriesLibraryLibraryErrors.cs b/LukeHagar/PlexAPI/SDK/Models/Errors/GetCountriesLibraryLibraryErrors.cs new file mode 100644 index 0000000..afdb9ff --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Errors/GetCountriesLibraryLibraryErrors.cs @@ -0,0 +1,27 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Errors +{ + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + + public class GetCountriesLibraryLibraryErrors + { + + [JsonProperty("code")] + public int? Code { get; set; } + + [JsonProperty("message")] + public string? Message { get; set; } + + [JsonProperty("status")] + public int? Status { get; set; } + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Errors/GetCountriesLibraryUnauthorized.cs b/LukeHagar/PlexAPI/SDK/Models/Errors/GetCountriesLibraryUnauthorized.cs new file mode 100644 index 0000000..0d09dbe --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Errors/GetCountriesLibraryUnauthorized.cs @@ -0,0 +1,34 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Errors +{ + using LukeHagar.PlexAPI.SDK.Models.Errors; + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + using System; + using System.Collections.Generic; + using System.Net.Http; + + /// + /// Unauthorized - Returned if the X-Plex-Token is missing from the header or query. + /// + public class GetCountriesLibraryUnauthorized : Exception + { + + [JsonProperty("errors")] + public List? Errors { get; set; } + + /// + /// Raw HTTP response; suitable for custom response parsing + /// + [JsonProperty("-")] + public HttpResponseMessage? RawResponse { get; set; } + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Errors/GetGenresLibraryBadRequest.cs b/LukeHagar/PlexAPI/SDK/Models/Errors/GetGenresLibraryBadRequest.cs new file mode 100644 index 0000000..3657581 --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Errors/GetGenresLibraryBadRequest.cs @@ -0,0 +1,34 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Errors +{ + using LukeHagar.PlexAPI.SDK.Models.Errors; + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + using System; + using System.Collections.Generic; + using System.Net.Http; + + /// + /// Bad Request - A parameter was not specified, or was specified incorrectly. + /// + public class GetGenresLibraryBadRequest : Exception + { + + [JsonProperty("errors")] + public List? Errors { get; set; } + + /// + /// Raw HTTP response; suitable for custom response parsing + /// + [JsonProperty("-")] + public HttpResponseMessage? RawResponse { get; set; } + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Errors/GetGenresLibraryErrors.cs b/LukeHagar/PlexAPI/SDK/Models/Errors/GetGenresLibraryErrors.cs new file mode 100644 index 0000000..4e75988 --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Errors/GetGenresLibraryErrors.cs @@ -0,0 +1,27 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Errors +{ + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + + public class GetGenresLibraryErrors + { + + [JsonProperty("code")] + public int? Code { get; set; } + + [JsonProperty("message")] + public string? Message { get; set; } + + [JsonProperty("status")] + public int? Status { get; set; } + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Errors/GetGenresLibraryLibraryErrors.cs b/LukeHagar/PlexAPI/SDK/Models/Errors/GetGenresLibraryLibraryErrors.cs new file mode 100644 index 0000000..217387f --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Errors/GetGenresLibraryLibraryErrors.cs @@ -0,0 +1,27 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Errors +{ + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + + public class GetGenresLibraryLibraryErrors + { + + [JsonProperty("code")] + public int? Code { get; set; } + + [JsonProperty("message")] + public string? Message { get; set; } + + [JsonProperty("status")] + public int? Status { get; set; } + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Errors/GetGenresLibraryUnauthorized.cs b/LukeHagar/PlexAPI/SDK/Models/Errors/GetGenresLibraryUnauthorized.cs new file mode 100644 index 0000000..d5c05b1 --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Errors/GetGenresLibraryUnauthorized.cs @@ -0,0 +1,34 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Errors +{ + using LukeHagar.PlexAPI.SDK.Models.Errors; + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + using System; + using System.Collections.Generic; + using System.Net.Http; + + /// + /// Unauthorized - Returned if the X-Plex-Token is missing from the header or query. + /// + public class GetGenresLibraryUnauthorized : Exception + { + + [JsonProperty("errors")] + public List? Errors { get; set; } + + /// + /// Raw HTTP response; suitable for custom response parsing + /// + [JsonProperty("-")] + public HttpResponseMessage? RawResponse { get; set; } + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetCountriesLibraryDirectory.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetCountriesLibraryDirectory.cs new file mode 100644 index 0000000..dc6eeef --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetCountriesLibraryDirectory.cs @@ -0,0 +1,27 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + + public class GetCountriesLibraryDirectory + { + + [JsonProperty("fastKey")] + public string FastKey { get; set; } = default!; + + [JsonProperty("key")] + public string Key { get; set; } = default!; + + [JsonProperty("title")] + public string Title { get; set; } = default!; + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetCountriesLibraryMediaContainer.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetCountriesLibraryMediaContainer.cs new file mode 100644 index 0000000..77e6e80 --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetCountriesLibraryMediaContainer.cs @@ -0,0 +1,65 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Models.Requests; + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + public class GetCountriesLibraryMediaContainer + { + + [JsonProperty("size")] + public double Size { get; set; } = default!; + + [JsonProperty("offset")] + public int? Offset { get; set; } + + [JsonProperty("totalSize")] + public int? TotalSize { get; set; } + + [JsonProperty("identifier")] + public string Identifier { get; set; } = default!; + + [JsonProperty("allowSync")] + public bool AllowSync { get; set; } = default!; + + [JsonProperty("art")] + public string Art { get; set; } = default!; + + [JsonProperty("content")] + public string Content { get; set; } = default!; + + [JsonProperty("mediaTagPrefix")] + public string MediaTagPrefix { get; set; } = default!; + + [JsonProperty("mediaTagVersion")] + public long MediaTagVersion { get; set; } = default!; + + [JsonProperty("nocache")] + public bool Nocache { get; set; } = default!; + + [JsonProperty("thumb")] + public string Thumb { get; set; } = default!; + + [JsonProperty("title1")] + public string Title1 { get; set; } = default!; + + [JsonProperty("title2")] + public string Title2 { get; set; } = default!; + + [JsonProperty("viewGroup")] + public string ViewGroup { get; set; } = default!; + + [JsonProperty("Directory")] + public List? Directory { get; set; } + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetCountriesLibraryRequest.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetCountriesLibraryRequest.cs new file mode 100644 index 0000000..ab20b31 --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetCountriesLibraryRequest.cs @@ -0,0 +1,28 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Utils; + + public class GetCountriesLibraryRequest + { + + /// + /// The unique key of the Plex library.
+ /// + /// + /// Note: This is unique in the context of the Plex server.
+ /// + ///
+ ///
+ [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=sectionKey")] + public int SectionKey { get; set; } = default!; + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetCountriesLibraryResponse.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetCountriesLibraryResponse.cs new file mode 100644 index 0000000..beb39de --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetCountriesLibraryResponse.cs @@ -0,0 +1,40 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Models.Requests; + using LukeHagar.PlexAPI.SDK.Utils; + using System; + using System.Net.Http; + + public class GetCountriesLibraryResponse + { + + /// + /// HTTP response content type for this operation + /// + public string? ContentType { get; set; } = default!; + + /// + /// HTTP response status code for this operation + /// + public int StatusCode { get; set; } = default!; + + /// + /// Raw HTTP response; suitable for custom response parsing + /// + public HttpResponseMessage RawResponse { get; set; } = default!; + + /// + /// Successful response containing media container data. + /// + public GetCountriesLibraryResponseBody? Object { get; set; } + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetCountriesLibraryResponseBody.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetCountriesLibraryResponseBody.cs new file mode 100644 index 0000000..e3f40d6 --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetCountriesLibraryResponseBody.cs @@ -0,0 +1,25 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Models.Requests; + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Successful response containing media container data. + /// + public class GetCountriesLibraryResponseBody + { + + [JsonProperty("MediaContainer")] + public GetCountriesLibraryMediaContainer? MediaContainer { get; set; } + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetGenresLibraryDirectory.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetGenresLibraryDirectory.cs new file mode 100644 index 0000000..43780ca --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetGenresLibraryDirectory.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + + public class GetGenresLibraryDirectory + { + + [JsonProperty("fastKey")] + public string FastKey { get; set; } = default!; + + [JsonProperty("key")] + public string Key { get; set; } = default!; + + [JsonProperty("title")] + public string Title { get; set; } = default!; + + [JsonProperty("type")] + public string Type { get; set; } = default!; + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetGenresLibraryMediaContainer.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetGenresLibraryMediaContainer.cs new file mode 100644 index 0000000..3ba899b --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetGenresLibraryMediaContainer.cs @@ -0,0 +1,65 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Models.Requests; + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + using System.Collections.Generic; + + public class GetGenresLibraryMediaContainer + { + + [JsonProperty("size")] + public double Size { get; set; } = default!; + + [JsonProperty("offset")] + public int? Offset { get; set; } + + [JsonProperty("totalSize")] + public int? TotalSize { get; set; } + + [JsonProperty("identifier")] + public string Identifier { get; set; } = default!; + + [JsonProperty("allowSync")] + public bool AllowSync { get; set; } = default!; + + [JsonProperty("art")] + public string Art { get; set; } = default!; + + [JsonProperty("content")] + public string Content { get; set; } = default!; + + [JsonProperty("mediaTagPrefix")] + public string MediaTagPrefix { get; set; } = default!; + + [JsonProperty("mediaTagVersion")] + public long MediaTagVersion { get; set; } = default!; + + [JsonProperty("nocache")] + public bool Nocache { get; set; } = default!; + + [JsonProperty("thumb")] + public string Thumb { get; set; } = default!; + + [JsonProperty("title1")] + public string Title1 { get; set; } = default!; + + [JsonProperty("title2")] + public string Title2 { get; set; } = default!; + + [JsonProperty("viewGroup")] + public string ViewGroup { get; set; } = default!; + + [JsonProperty("Directory")] + public List? Directory { get; set; } + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetGenresLibraryRequest.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetGenresLibraryRequest.cs new file mode 100644 index 0000000..5bd0b1b --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetGenresLibraryRequest.cs @@ -0,0 +1,28 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Utils; + + public class GetGenresLibraryRequest + { + + /// + /// The unique key of the Plex library.
+ /// + /// + /// Note: This is unique in the context of the Plex server.
+ /// + ///
+ ///
+ [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=sectionKey")] + public int SectionKey { get; set; } = default!; + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetGenresLibraryResponse.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetGenresLibraryResponse.cs new file mode 100644 index 0000000..2e13b2d --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetGenresLibraryResponse.cs @@ -0,0 +1,40 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Models.Requests; + using LukeHagar.PlexAPI.SDK.Utils; + using System; + using System.Net.Http; + + public class GetGenresLibraryResponse + { + + /// + /// HTTP response content type for this operation + /// + public string? ContentType { get; set; } = default!; + + /// + /// HTTP response status code for this operation + /// + public int StatusCode { get; set; } = default!; + + /// + /// Raw HTTP response; suitable for custom response parsing + /// + public HttpResponseMessage RawResponse { get; set; } = default!; + + /// + /// Successful response containing media container data. + /// + public GetGenresLibraryResponseBody? Object { get; set; } + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Models/Requests/GetGenresLibraryResponseBody.cs b/LukeHagar/PlexAPI/SDK/Models/Requests/GetGenresLibraryResponseBody.cs new file mode 100644 index 0000000..1cdbe85 --- /dev/null +++ b/LukeHagar/PlexAPI/SDK/Models/Requests/GetGenresLibraryResponseBody.cs @@ -0,0 +1,25 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace LukeHagar.PlexAPI.SDK.Models.Requests +{ + using LukeHagar.PlexAPI.SDK.Models.Requests; + using LukeHagar.PlexAPI.SDK.Utils; + using Newtonsoft.Json; + + /// + /// Successful response containing media container data. + /// + public class GetGenresLibraryResponseBody + { + + [JsonProperty("MediaContainer")] + public GetGenresLibraryMediaContainer? MediaContainer { get; set; } + } +} \ No newline at end of file diff --git a/LukeHagar/PlexAPI/SDK/Playlists.cs b/LukeHagar/PlexAPI/SDK/Playlists.cs index 9f82eae..365ed9b 100644 --- a/LukeHagar/PlexAPI/SDK/Playlists.cs +++ b/LukeHagar/PlexAPI/SDK/Playlists.cs @@ -146,10 +146,10 @@ namespace LukeHagar.PlexAPI.SDK { public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.13.3"; - private const string _sdkGenVersion = "2.495.1"; + private const string _sdkVersion = "0.13.4"; + private const string _sdkGenVersion = "2.503.2"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.13.3 2.495.1 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.13.4 2.503.2 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; diff --git a/LukeHagar/PlexAPI/SDK/Plex.cs b/LukeHagar/PlexAPI/SDK/Plex.cs index f1c0e8e..a20ea88 100644 --- a/LukeHagar/PlexAPI/SDK/Plex.cs +++ b/LukeHagar/PlexAPI/SDK/Plex.cs @@ -143,10 +143,10 @@ namespace LukeHagar.PlexAPI.SDK }; public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.13.3"; - private const string _sdkGenVersion = "2.495.1"; + private const string _sdkVersion = "0.13.4"; + private const string _sdkGenVersion = "2.503.2"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.13.3 2.495.1 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.13.4 2.503.2 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; diff --git a/LukeHagar/PlexAPI/SDK/PlexAPI.cs b/LukeHagar/PlexAPI/SDK/PlexAPI.cs index 626ede1..9c9003f 100644 --- a/LukeHagar/PlexAPI/SDK/PlexAPI.cs +++ b/LukeHagar/PlexAPI/SDK/PlexAPI.cs @@ -326,10 +326,10 @@ namespace LukeHagar.PlexAPI.SDK public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.13.3"; - private const string _sdkGenVersion = "2.495.1"; + private const string _sdkVersion = "0.13.4"; + private const string _sdkGenVersion = "2.503.2"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.13.3 2.495.1 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.13.4 2.503.2 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private int _serverIndex = 0; private ISpeakeasyHttpClient _client; diff --git a/LukeHagar/PlexAPI/SDK/Search.cs b/LukeHagar/PlexAPI/SDK/Search.cs index 435dfbd..a111a45 100644 --- a/LukeHagar/PlexAPI/SDK/Search.cs +++ b/LukeHagar/PlexAPI/SDK/Search.cs @@ -87,10 +87,10 @@ namespace LukeHagar.PlexAPI.SDK { public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.13.3"; - private const string _sdkGenVersion = "2.495.1"; + private const string _sdkVersion = "0.13.4"; + private const string _sdkGenVersion = "2.503.2"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.13.3 2.495.1 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.13.4 2.503.2 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; diff --git a/LukeHagar/PlexAPI/SDK/Server.cs b/LukeHagar/PlexAPI/SDK/Server.cs index 5c6c4ef..d14a674 100644 --- a/LukeHagar/PlexAPI/SDK/Server.cs +++ b/LukeHagar/PlexAPI/SDK/Server.cs @@ -126,10 +126,10 @@ namespace LukeHagar.PlexAPI.SDK { public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.13.3"; - private const string _sdkGenVersion = "2.495.1"; + private const string _sdkVersion = "0.13.4"; + private const string _sdkGenVersion = "2.503.2"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.13.3 2.495.1 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.13.4 2.503.2 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; diff --git a/LukeHagar/PlexAPI/SDK/Sessions.cs b/LukeHagar/PlexAPI/SDK/Sessions.cs index e0fbc2f..39349ad 100644 --- a/LukeHagar/PlexAPI/SDK/Sessions.cs +++ b/LukeHagar/PlexAPI/SDK/Sessions.cs @@ -80,10 +80,10 @@ namespace LukeHagar.PlexAPI.SDK { public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.13.3"; - private const string _sdkGenVersion = "2.495.1"; + private const string _sdkVersion = "0.13.4"; + private const string _sdkGenVersion = "2.503.2"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.13.3 2.495.1 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.13.4 2.503.2 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; diff --git a/LukeHagar/PlexAPI/SDK/Statistics.cs b/LukeHagar/PlexAPI/SDK/Statistics.cs index 5a27a97..22b3ef8 100644 --- a/LukeHagar/PlexAPI/SDK/Statistics.cs +++ b/LukeHagar/PlexAPI/SDK/Statistics.cs @@ -71,10 +71,10 @@ namespace LukeHagar.PlexAPI.SDK { public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.13.3"; - private const string _sdkGenVersion = "2.495.1"; + private const string _sdkVersion = "0.13.4"; + private const string _sdkGenVersion = "2.503.2"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.13.3 2.495.1 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.13.4 2.503.2 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; diff --git a/LukeHagar/PlexAPI/SDK/Updater.cs b/LukeHagar/PlexAPI/SDK/Updater.cs index f7b619f..e352249 100644 --- a/LukeHagar/PlexAPI/SDK/Updater.cs +++ b/LukeHagar/PlexAPI/SDK/Updater.cs @@ -74,10 +74,10 @@ namespace LukeHagar.PlexAPI.SDK { public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.13.3"; - private const string _sdkGenVersion = "2.495.1"; + private const string _sdkVersion = "0.13.4"; + private const string _sdkGenVersion = "2.503.2"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.13.3 2.495.1 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.13.4 2.503.2 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; @@ -372,11 +372,11 @@ namespace LukeHagar.PlexAPI.SDK throw new Models.Errors.SDKException("Unknown content type received", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse); } - else if(responseStatusCode == 500 || responseStatusCode >= 500 && responseStatusCode < 600) + else if(responseStatusCode >= 400 && responseStatusCode < 500) { throw new Models.Errors.SDKException("API error occurred", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse); } - else if(responseStatusCode >= 400 && responseStatusCode < 500) + else if(responseStatusCode == 500 || responseStatusCode >= 500 && responseStatusCode < 600) { throw new Models.Errors.SDKException("API error occurred", responseStatusCode, await httpResponse.Content.ReadAsStringAsync(), httpResponse); } diff --git a/LukeHagar/PlexAPI/SDK/Video.cs b/LukeHagar/PlexAPI/SDK/Video.cs index 8cb467e..06b8389 100644 --- a/LukeHagar/PlexAPI/SDK/Video.cs +++ b/LukeHagar/PlexAPI/SDK/Video.cs @@ -62,10 +62,10 @@ namespace LukeHagar.PlexAPI.SDK { public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.13.3"; - private const string _sdkGenVersion = "2.495.1"; + private const string _sdkVersion = "0.13.4"; + private const string _sdkGenVersion = "2.503.2"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.13.3 2.495.1 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.13.4 2.503.2 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; diff --git a/LukeHagar/PlexAPI/SDK/Watchlist.cs b/LukeHagar/PlexAPI/SDK/Watchlist.cs index 2b06726..6c903eb 100644 --- a/LukeHagar/PlexAPI/SDK/Watchlist.cs +++ b/LukeHagar/PlexAPI/SDK/Watchlist.cs @@ -59,10 +59,10 @@ namespace LukeHagar.PlexAPI.SDK }; public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.13.3"; - private const string _sdkGenVersion = "2.495.1"; + private const string _sdkVersion = "0.13.4"; + private const string _sdkGenVersion = "2.503.2"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.13.3 2.495.1 0.0.3 LukeHagar.PlexAPI.SDK"; + private const string _userAgent = "speakeasy-sdk/csharp 0.13.4 2.503.2 0.0.3 LukeHagar.PlexAPI.SDK"; private string _serverUrl = ""; private ISpeakeasyHttpClient _client; private Func? _securitySource; diff --git a/README.md b/README.md index 3512049..1fc6a41 100644 --- a/README.md +++ b/README.md @@ -84,6 +84,8 @@ var res = await sdk.Server.GetServerCapabilitiesAsync(); * [GetLibraryItems](docs/sdks/library/README.md#getlibraryitems) - Get Library Items * [GetRefreshLibraryMetadata](docs/sdks/library/README.md#getrefreshlibrarymetadata) - Refresh Metadata Of The Library * [GetSearchLibrary](docs/sdks/library/README.md#getsearchlibrary) - Search Library +* [GetGenresLibrary](docs/sdks/library/README.md#getgenreslibrary) - Get Genres of library media +* [GetCountriesLibrary](docs/sdks/library/README.md#getcountrieslibrary) - Get Countries of library media * [GetSearchAllLibraries](docs/sdks/library/README.md#getsearchalllibraries) - Search All Libraries * [GetMetaDataByRatingKey](docs/sdks/library/README.md#getmetadatabyratingkey) - Get Metadata by RatingKey * [GetMetadataChildren](docs/sdks/library/README.md#getmetadatachildren) - Get Items Children diff --git a/RELEASES.md b/RELEASES.md index 1644911..647f870 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -454,4 +454,14 @@ Based on: ### Generated - [csharp v0.13.3] . ### Releases -- [NuGet v0.13.3] https://www.nuget.org/packages/LukeHagar.PlexAPI.SDK/0.13.3 - . \ No newline at end of file +- [NuGet v0.13.3] https://www.nuget.org/packages/LukeHagar.PlexAPI.SDK/0.13.3 - . + +## 2025-02-05 00:21:02 +### Changes +Based on: +- OpenAPI Doc +- Speakeasy CLI 1.484.1 (2.503.2) https://github.com/speakeasy-api/speakeasy +### Generated +- [csharp v0.13.4] . +### Releases +- [NuGet v0.13.4] https://www.nuget.org/packages/LukeHagar.PlexAPI.SDK/0.13.4 - . \ No newline at end of file diff --git a/codeSamples.yaml b/codeSamples.yaml index b5b0cdc..f0e193d 100644 --- a/codeSamples.yaml +++ b/codeSamples.yaml @@ -322,9 +322,6 @@ actions: ContentDirectoryID = 470161, SectionID = 2, Type = LukeHagar.PlexAPI.SDK.Models.Requests.Type.TvShow, - IncludeMeta = IncludeMeta.Enable, - XPlexContainerStart = 0, - XPlexContainerSize = 50, }; var res = await sdk.Hubs.GetRecentlyAddedAsync(req); @@ -557,9 +554,6 @@ actions: }, SectionID = 2, Type = QueryParamType.TvShow, - IncludeMeta = QueryParamIncludeMeta.Enable, - XPlexContainerStart = 0, - XPlexContainerSize = 50, }; var res = await sdk.Library.GetRecentlyAddedLibraryAsync(req); @@ -584,8 +578,6 @@ actions: SearchTypes = new List() { SearchTypes.People, }, - IncludeCollections = QueryParamIncludeCollections.Enable, - IncludeExternalMedia = QueryParamIncludeExternalMedia.Enable, }; var res = await sdk.Library.GetSearchAllLibrariesAsync(req); @@ -619,8 +611,6 @@ actions: GetWatchListRequest req = new GetWatchListRequest() { Filter = Filter.Available, - XPlexContainerStart = 0, - XPlexContainerSize = 50, XPlexToken = "CV5xoxjTpFKUzBTShsaf", }; @@ -658,6 +648,34 @@ actions: includeDetails: IncludeDetails.Zero ); + // handle response + - target: $["paths"]["/library/sections/{sectionKey}/country"]["get"] + update: + x-codeSamples: + - lang: csharp + label: library + source: |- + using LukeHagar.PlexAPI.SDK; + using LukeHagar.PlexAPI.SDK.Models.Components; + + var sdk = new PlexAPI(accessToken: ""); + + var res = await sdk.Library.GetCountriesLibraryAsync(sectionKey: 9518); + + // handle response + - target: $["paths"]["/library/sections/{sectionKey}/genre"]["get"] + update: + x-codeSamples: + - lang: csharp + label: library + source: |- + using LukeHagar.PlexAPI.SDK; + using LukeHagar.PlexAPI.SDK.Models.Components; + + var sdk = new PlexAPI(accessToken: ""); + + var res = await sdk.Library.GetGenresLibraryAsync(sectionKey: 9518); + // handle response - target: $["paths"]["/library/sections/{sectionKey}/refresh"]["get"] update: @@ -709,12 +727,8 @@ actions: GetLibraryItemsRequest req = new GetLibraryItemsRequest() { Tag = Tag.Edition, - IncludeGuids = IncludeGuids.Enable, Type = GetLibraryItemsQueryParamType.TvShow, SectionKey = 9518, - IncludeMeta = GetLibraryItemsQueryParamIncludeMeta.Enable, - XPlexContainerStart = 0, - XPlexContainerSize = 50, }; var res = await sdk.Library.GetLibraryItemsAsync(req); diff --git a/docs/Models/Errors/GetCountriesLibraryBadRequest.md b/docs/Models/Errors/GetCountriesLibraryBadRequest.md new file mode 100644 index 0000000..7721ae6 --- /dev/null +++ b/docs/Models/Errors/GetCountriesLibraryBadRequest.md @@ -0,0 +1,11 @@ +# GetCountriesLibraryBadRequest + +Bad Request - A parameter was not specified, or was specified incorrectly. + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | +| `Errors` | List<[GetCountriesLibraryErrors](../../Models/Errors/GetCountriesLibraryErrors.md)> | :heavy_minus_sign: | N/A | +| `RawResponse` | [HttpResponseMessage](https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpresponsemessage?view=net-5.0) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing | \ No newline at end of file diff --git a/docs/Models/Errors/GetCountriesLibraryErrors.md b/docs/Models/Errors/GetCountriesLibraryErrors.md new file mode 100644 index 0000000..736e179 --- /dev/null +++ b/docs/Models/Errors/GetCountriesLibraryErrors.md @@ -0,0 +1,10 @@ +# GetCountriesLibraryErrors + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------- | ----------------------------------- | ----------------------------------- | ----------------------------------- | ----------------------------------- | +| `Code` | *int* | :heavy_minus_sign: | N/A | 1000 | +| `Message` | *string* | :heavy_minus_sign: | N/A | X-Plex-Client-Identifier is missing | +| `Status` | *int* | :heavy_minus_sign: | N/A | 400 | \ No newline at end of file diff --git a/docs/Models/Errors/GetCountriesLibraryLibraryErrors.md b/docs/Models/Errors/GetCountriesLibraryLibraryErrors.md new file mode 100644 index 0000000..c3a108a --- /dev/null +++ b/docs/Models/Errors/GetCountriesLibraryLibraryErrors.md @@ -0,0 +1,10 @@ +# GetCountriesLibraryLibraryErrors + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | +| `Code` | *int* | :heavy_minus_sign: | N/A | 1001 | +| `Message` | *string* | :heavy_minus_sign: | N/A | User could not be authenticated | +| `Status` | *int* | :heavy_minus_sign: | N/A | 401 | \ No newline at end of file diff --git a/docs/Models/Errors/GetCountriesLibraryUnauthorized.md b/docs/Models/Errors/GetCountriesLibraryUnauthorized.md new file mode 100644 index 0000000..79594d4 --- /dev/null +++ b/docs/Models/Errors/GetCountriesLibraryUnauthorized.md @@ -0,0 +1,11 @@ +# GetCountriesLibraryUnauthorized + +Unauthorized - Returned if the X-Plex-Token is missing from the header or query. + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | +| `Errors` | List<[GetCountriesLibraryLibraryErrors](../../Models/Errors/GetCountriesLibraryLibraryErrors.md)> | :heavy_minus_sign: | N/A | +| `RawResponse` | [HttpResponseMessage](https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpresponsemessage?view=net-5.0) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing | \ No newline at end of file diff --git a/docs/Models/Errors/GetGenresLibraryBadRequest.md b/docs/Models/Errors/GetGenresLibraryBadRequest.md new file mode 100644 index 0000000..daea7f6 --- /dev/null +++ b/docs/Models/Errors/GetGenresLibraryBadRequest.md @@ -0,0 +1,11 @@ +# GetGenresLibraryBadRequest + +Bad Request - A parameter was not specified, or was specified incorrectly. + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | +| `Errors` | List<[GetGenresLibraryErrors](../../Models/Errors/GetGenresLibraryErrors.md)> | :heavy_minus_sign: | N/A | +| `RawResponse` | [HttpResponseMessage](https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpresponsemessage?view=net-5.0) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing | \ No newline at end of file diff --git a/docs/Models/Errors/GetGenresLibraryErrors.md b/docs/Models/Errors/GetGenresLibraryErrors.md new file mode 100644 index 0000000..4318656 --- /dev/null +++ b/docs/Models/Errors/GetGenresLibraryErrors.md @@ -0,0 +1,10 @@ +# GetGenresLibraryErrors + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------- | ----------------------------------- | ----------------------------------- | ----------------------------------- | ----------------------------------- | +| `Code` | *int* | :heavy_minus_sign: | N/A | 1000 | +| `Message` | *string* | :heavy_minus_sign: | N/A | X-Plex-Client-Identifier is missing | +| `Status` | *int* | :heavy_minus_sign: | N/A | 400 | \ No newline at end of file diff --git a/docs/Models/Errors/GetGenresLibraryLibraryErrors.md b/docs/Models/Errors/GetGenresLibraryLibraryErrors.md new file mode 100644 index 0000000..278bdb6 --- /dev/null +++ b/docs/Models/Errors/GetGenresLibraryLibraryErrors.md @@ -0,0 +1,10 @@ +# GetGenresLibraryLibraryErrors + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | +| `Code` | *int* | :heavy_minus_sign: | N/A | 1001 | +| `Message` | *string* | :heavy_minus_sign: | N/A | User could not be authenticated | +| `Status` | *int* | :heavy_minus_sign: | N/A | 401 | \ No newline at end of file diff --git a/docs/Models/Errors/GetGenresLibraryUnauthorized.md b/docs/Models/Errors/GetGenresLibraryUnauthorized.md new file mode 100644 index 0000000..b45483f --- /dev/null +++ b/docs/Models/Errors/GetGenresLibraryUnauthorized.md @@ -0,0 +1,11 @@ +# GetGenresLibraryUnauthorized + +Unauthorized - Returned if the X-Plex-Token is missing from the header or query. + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | +| `Errors` | List<[GetGenresLibraryLibraryErrors](../../Models/Errors/GetGenresLibraryLibraryErrors.md)> | :heavy_minus_sign: | N/A | +| `RawResponse` | [HttpResponseMessage](https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpresponsemessage?view=net-5.0) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing | \ No newline at end of file diff --git a/docs/Models/Requests/GetCountriesLibraryDirectory.md b/docs/Models/Requests/GetCountriesLibraryDirectory.md new file mode 100644 index 0000000..eb1ad5b --- /dev/null +++ b/docs/Models/Requests/GetCountriesLibraryDirectory.md @@ -0,0 +1,10 @@ +# GetCountriesLibraryDirectory + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------- | ------------------------------------- | ------------------------------------- | ------------------------------------- | ------------------------------------- | +| `FastKey` | *string* | :heavy_check_mark: | N/A | /library/sections/2/all?country=15491 | +| `Key` | *string* | :heavy_check_mark: | N/A | 15491 | +| `Title` | *string* | :heavy_check_mark: | N/A | Japan | \ No newline at end of file diff --git a/docs/Models/Requests/GetCountriesLibraryMediaContainer.md b/docs/Models/Requests/GetCountriesLibraryMediaContainer.md new file mode 100644 index 0000000..1f1124f --- /dev/null +++ b/docs/Models/Requests/GetCountriesLibraryMediaContainer.md @@ -0,0 +1,22 @@ +# GetCountriesLibraryMediaContainer + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | +| `Size` | *double* | :heavy_check_mark: | N/A | 50 | +| `Offset` | *int* | :heavy_minus_sign: | N/A | | +| `TotalSize` | *int* | :heavy_minus_sign: | N/A | | +| `Identifier` | *string* | :heavy_check_mark: | N/A | com.plexapp.plugins.library | +| `AllowSync` | *bool* | :heavy_check_mark: | N/A | false | +| `Art` | *string* | :heavy_check_mark: | N/A | /:/resources/show-fanart.jpg | +| `Content` | *string* | :heavy_check_mark: | N/A | secondary | +| `MediaTagPrefix` | *string* | :heavy_check_mark: | N/A | /system/bundle/media/flags/ | +| `MediaTagVersion` | *long* | :heavy_check_mark: | N/A | 1734362201 | +| `Nocache` | *bool* | :heavy_check_mark: | N/A | true | +| `Thumb` | *string* | :heavy_check_mark: | N/A | /:/resources/show.png | +| `Title1` | *string* | :heavy_check_mark: | N/A | TV Series | +| `Title2` | *string* | :heavy_check_mark: | N/A | By Country | +| `ViewGroup` | *string* | :heavy_check_mark: | N/A | secondary | +| `Directory` | List<[GetCountriesLibraryDirectory](../../Models/Requests/GetCountriesLibraryDirectory.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/Models/Requests/GetCountriesLibraryRequest.md b/docs/Models/Requests/GetCountriesLibraryRequest.md new file mode 100644 index 0000000..02d887f --- /dev/null +++ b/docs/Models/Requests/GetCountriesLibraryRequest.md @@ -0,0 +1,8 @@ +# GetCountriesLibraryRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | +| `SectionKey` | *int* | :heavy_check_mark: | The unique key of the Plex library.
Note: This is unique in the context of the Plex server.
| 9518 | \ No newline at end of file diff --git a/docs/Models/Requests/GetCountriesLibraryResponse.md b/docs/Models/Requests/GetCountriesLibraryResponse.md new file mode 100644 index 0000000..072e4f4 --- /dev/null +++ b/docs/Models/Requests/GetCountriesLibraryResponse.md @@ -0,0 +1,11 @@ +# GetCountriesLibraryResponse + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | +| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `RawResponse` | [HttpResponseMessage](https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpresponsemessage?view=net-5.0) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `Object` | [GetCountriesLibraryResponseBody](../../Models/Requests/GetCountriesLibraryResponseBody.md) | :heavy_minus_sign: | Successful response containing media container data. | \ No newline at end of file diff --git a/docs/Models/Requests/GetCountriesLibraryResponseBody.md b/docs/Models/Requests/GetCountriesLibraryResponseBody.md new file mode 100644 index 0000000..853467b --- /dev/null +++ b/docs/Models/Requests/GetCountriesLibraryResponseBody.md @@ -0,0 +1,10 @@ +# GetCountriesLibraryResponseBody + +Successful response containing media container data. + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | +| `MediaContainer` | [GetCountriesLibraryMediaContainer](../../Models/Requests/GetCountriesLibraryMediaContainer.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/Models/Requests/GetGenresLibraryDirectory.md b/docs/Models/Requests/GetGenresLibraryDirectory.md new file mode 100644 index 0000000..dccf938 --- /dev/null +++ b/docs/Models/Requests/GetGenresLibraryDirectory.md @@ -0,0 +1,11 @@ +# GetGenresLibraryDirectory + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------- | --------------------------------- | --------------------------------- | --------------------------------- | --------------------------------- | +| `FastKey` | *string* | :heavy_check_mark: | N/A | /library/sections/10/all?genre=89 | +| `Key` | *string* | :heavy_check_mark: | N/A | 89 | +| `Title` | *string* | :heavy_check_mark: | N/A | Action | +| `Type` | *string* | :heavy_check_mark: | N/A | genre | \ No newline at end of file diff --git a/docs/Models/Requests/GetGenresLibraryMediaContainer.md b/docs/Models/Requests/GetGenresLibraryMediaContainer.md new file mode 100644 index 0000000..2b9429c --- /dev/null +++ b/docs/Models/Requests/GetGenresLibraryMediaContainer.md @@ -0,0 +1,22 @@ +# GetGenresLibraryMediaContainer + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | +| `Size` | *double* | :heavy_check_mark: | N/A | 50 | +| `Offset` | *int* | :heavy_minus_sign: | N/A | | +| `TotalSize` | *int* | :heavy_minus_sign: | N/A | | +| `Identifier` | *string* | :heavy_check_mark: | N/A | com.plexapp.plugins.library | +| `AllowSync` | *bool* | :heavy_check_mark: | N/A | false | +| `Art` | *string* | :heavy_check_mark: | N/A | /:/resources/show-fanart.jpg | +| `Content` | *string* | :heavy_check_mark: | N/A | secondary | +| `MediaTagPrefix` | *string* | :heavy_check_mark: | N/A | /system/bundle/media/flags/ | +| `MediaTagVersion` | *long* | :heavy_check_mark: | N/A | 1734362201 | +| `Nocache` | *bool* | :heavy_check_mark: | N/A | true | +| `Thumb` | *string* | :heavy_check_mark: | N/A | /:/resources/show.png | +| `Title1` | *string* | :heavy_check_mark: | N/A | TV Shows (Reality) | +| `Title2` | *string* | :heavy_check_mark: | N/A | By Genre | +| `ViewGroup` | *string* | :heavy_check_mark: | N/A | secondary | +| `Directory` | List<[GetGenresLibraryDirectory](../../Models/Requests/GetGenresLibraryDirectory.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/Models/Requests/GetGenresLibraryRequest.md b/docs/Models/Requests/GetGenresLibraryRequest.md new file mode 100644 index 0000000..0339a04 --- /dev/null +++ b/docs/Models/Requests/GetGenresLibraryRequest.md @@ -0,0 +1,8 @@ +# GetGenresLibraryRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | +| `SectionKey` | *int* | :heavy_check_mark: | The unique key of the Plex library.
Note: This is unique in the context of the Plex server.
| 9518 | \ No newline at end of file diff --git a/docs/Models/Requests/GetGenresLibraryResponse.md b/docs/Models/Requests/GetGenresLibraryResponse.md new file mode 100644 index 0000000..67d8111 --- /dev/null +++ b/docs/Models/Requests/GetGenresLibraryResponse.md @@ -0,0 +1,11 @@ +# GetGenresLibraryResponse + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | +| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `RawResponse` | [HttpResponseMessage](https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpresponsemessage?view=net-5.0) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `Object` | [GetGenresLibraryResponseBody](../../Models/Requests/GetGenresLibraryResponseBody.md) | :heavy_minus_sign: | Successful response containing media container data. | \ No newline at end of file diff --git a/docs/Models/Requests/GetGenresLibraryResponseBody.md b/docs/Models/Requests/GetGenresLibraryResponseBody.md new file mode 100644 index 0000000..30970a6 --- /dev/null +++ b/docs/Models/Requests/GetGenresLibraryResponseBody.md @@ -0,0 +1,10 @@ +# GetGenresLibraryResponseBody + +Successful response containing media container data. + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | +| `MediaContainer` | [GetGenresLibraryMediaContainer](../../Models/Requests/GetGenresLibraryMediaContainer.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/Models/Requests/GetRecentlyAddedMediaContainer.md b/docs/Models/Requests/GetRecentlyAddedMediaContainer.md index 3fa0cef..755b88b 100644 --- a/docs/Models/Requests/GetRecentlyAddedMediaContainer.md +++ b/docs/Models/Requests/GetRecentlyAddedMediaContainer.md @@ -9,6 +9,6 @@ | `Offset` | *int* | :heavy_minus_sign: | N/A | | | `TotalSize` | *int* | :heavy_minus_sign: | N/A | | | `Identifier` | *string* | :heavy_minus_sign: | N/A | com.plexapp.plugins.library | -| `AllowSync` | *bool* | :heavy_minus_sign: | N/A | | +| `AllowSync` | *bool* | :heavy_minus_sign: | N/A | false | | `Meta` | [Meta](../../Models/Requests/Meta.md) | :heavy_minus_sign: | The Meta object is only included in the response if the `includeMeta` parameter is set to `1`.
| | | `Metadata` | List<[GetRecentlyAddedMetadata](../../Models/Requests/GetRecentlyAddedMetadata.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/sdks/hubs/README.md b/docs/sdks/hubs/README.md index d3ae4e9..f61921e 100644 --- a/docs/sdks/hubs/README.md +++ b/docs/sdks/hubs/README.md @@ -70,9 +70,6 @@ GetRecentlyAddedRequest req = new GetRecentlyAddedRequest() { ContentDirectoryID = 470161, SectionID = 2, Type = LukeHagar.PlexAPI.SDK.Models.Requests.Type.TvShow, - IncludeMeta = IncludeMeta.Enable, - XPlexContainerStart = 0, - XPlexContainerSize = 50, }; var res = await sdk.Hubs.GetRecentlyAddedAsync(req); diff --git a/docs/sdks/library/README.md b/docs/sdks/library/README.md index 432d6af..134bb40 100644 --- a/docs/sdks/library/README.md +++ b/docs/sdks/library/README.md @@ -16,6 +16,8 @@ API Calls interacting with Plex Media Server Libraries * [GetLibraryItems](#getlibraryitems) - Get Library Items * [GetRefreshLibraryMetadata](#getrefreshlibrarymetadata) - Refresh Metadata Of The Library * [GetSearchLibrary](#getsearchlibrary) - Search Library +* [GetGenresLibrary](#getgenreslibrary) - Get Genres of library media +* [GetCountriesLibrary](#getcountrieslibrary) - Get Countries of library media * [GetSearchAllLibraries](#getsearchalllibraries) - Search All Libraries * [GetMetaDataByRatingKey](#getmetadatabyratingkey) - Get Metadata by RatingKey * [GetMetadataChildren](#getmetadatachildren) - Get Items Children @@ -94,9 +96,6 @@ GetRecentlyAddedLibraryRequest req = new GetRecentlyAddedLibraryRequest() { }, SectionID = 2, Type = QueryParamType.TvShow, - IncludeMeta = QueryParamIncludeMeta.Enable, - XPlexContainerStart = 0, - XPlexContainerSize = 50, }; var res = await sdk.Library.GetRecentlyAddedLibraryAsync(req); @@ -307,12 +306,8 @@ var sdk = new PlexAPI(accessToken: ""); GetLibraryItemsRequest req = new GetLibraryItemsRequest() { Tag = Tag.Edition, - IncludeGuids = IncludeGuids.Enable, Type = GetLibraryItemsQueryParamType.TvShow, SectionKey = 9518, - IncludeMeta = GetLibraryItemsQueryParamIncludeMeta.Enable, - XPlexContainerStart = 0, - XPlexContainerSize = 50, }; var res = await sdk.Library.GetLibraryItemsAsync(req); @@ -437,6 +432,78 @@ var res = await sdk.Library.GetSearchLibraryAsync( | LukeHagar.PlexAPI.SDK.Models.Errors.GetSearchLibraryUnauthorized | 401 | application/json | | LukeHagar.PlexAPI.SDK.Models.Errors.SDKException | 4XX, 5XX | \*/\* | +## GetGenresLibrary + +Retrieves a list of all the genres that are found for the media in this library. + + +### Example Usage + +```csharp +using LukeHagar.PlexAPI.SDK; +using LukeHagar.PlexAPI.SDK.Models.Components; + +var sdk = new PlexAPI(accessToken: ""); + +var res = await sdk.Library.GetGenresLibraryAsync(sectionKey: 9518); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | +| `SectionKey` | *int* | :heavy_check_mark: | The unique key of the Plex library.
Note: This is unique in the context of the Plex server.
| 9518 | + +### Response + +**[GetGenresLibraryResponse](../../Models/Requests/GetGenresLibraryResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | +| LukeHagar.PlexAPI.SDK.Models.Errors.GetGenresLibraryBadRequest | 400 | application/json | +| LukeHagar.PlexAPI.SDK.Models.Errors.GetGenresLibraryUnauthorized | 401 | application/json | +| LukeHagar.PlexAPI.SDK.Models.Errors.SDKException | 4XX, 5XX | \*/\* | + +## GetCountriesLibrary + +Retrieves a list of all the countries that are found for the media in this library. + + +### Example Usage + +```csharp +using LukeHagar.PlexAPI.SDK; +using LukeHagar.PlexAPI.SDK.Models.Components; + +var sdk = new PlexAPI(accessToken: ""); + +var res = await sdk.Library.GetCountriesLibraryAsync(sectionKey: 9518); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | +| `SectionKey` | *int* | :heavy_check_mark: | The unique key of the Plex library.
Note: This is unique in the context of the Plex server.
| 9518 | + +### Response + +**[GetCountriesLibraryResponse](../../Models/Requests/GetCountriesLibraryResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | +| LukeHagar.PlexAPI.SDK.Models.Errors.GetCountriesLibraryBadRequest | 400 | application/json | +| LukeHagar.PlexAPI.SDK.Models.Errors.GetCountriesLibraryUnauthorized | 401 | application/json | +| LukeHagar.PlexAPI.SDK.Models.Errors.SDKException | 4XX, 5XX | \*/\* | + ## GetSearchAllLibraries Search the provided query across all library sections, or a single section, and return matches as hubs, split up by type. @@ -458,8 +525,6 @@ GetSearchAllLibrariesRequest req = new GetSearchAllLibrariesRequest() { SearchTypes = new List() { SearchTypes.People, }, - IncludeCollections = QueryParamIncludeCollections.Enable, - IncludeExternalMedia = QueryParamIncludeExternalMedia.Enable, }; var res = await sdk.Library.GetSearchAllLibrariesAsync(req); diff --git a/docs/sdks/watchlist/README.md b/docs/sdks/watchlist/README.md index 8d90ded..cfc021a 100644 --- a/docs/sdks/watchlist/README.md +++ b/docs/sdks/watchlist/README.md @@ -25,8 +25,6 @@ var sdk = new PlexAPI(accessToken: ""); GetWatchListRequest req = new GetWatchListRequest() { Filter = Filter.Available, - XPlexContainerStart = 0, - XPlexContainerSize = 50, XPlexToken = "CV5xoxjTpFKUzBTShsaf", };