diff options
| author | Cody Robibero <cody@robibe.ro> | 2022-04-09 08:45:13 -0600 |
|---|---|---|
| committer | Joshua Boniface <joshua@boniface.me> | 2022-04-17 15:45:11 -0400 |
| commit | 7424f0ca8cef9ca1850420a5f3a5761ce764680b (patch) | |
| tree | 95ee84b9476f6d233f88b00e12d863cd76ea791a /Jellyfin.Api/Controllers/ConfigurationController.cs | |
| parent | 834fe85185ffcd4cd1fbf0447e658d6d77b9e10a (diff) | |
Merge pull request #7561 from DMouse10462/named-config-api-fix
Fix NamedConfiguration API Generation
(cherry picked from commit d7c548f3dbb74c03903cd9bb86ab3af33e295d15)
Signed-off-by: Joshua Boniface <joshua@boniface.me>
Diffstat (limited to 'Jellyfin.Api/Controllers/ConfigurationController.cs')
| -rw-r--r-- | Jellyfin.Api/Controllers/ConfigurationController.cs | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/Jellyfin.Api/Controllers/ConfigurationController.cs b/Jellyfin.Api/Controllers/ConfigurationController.cs index 60529e990..464fadc06 100644 --- a/Jellyfin.Api/Controllers/ConfigurationController.cs +++ b/Jellyfin.Api/Controllers/ConfigurationController.cs @@ -86,21 +86,23 @@ namespace Jellyfin.Api.Controllers /// Updates named configuration. /// </summary> /// <param name="key">Configuration key.</param> + /// <param name="configuration">Configuration.</param> /// <response code="204">Named configuration updated.</response> /// <returns>Update status.</returns> [HttpPost("Configuration/{key}")] [Authorize(Policy = Policies.RequiresElevation)] [ProducesResponseType(StatusCodes.Status204NoContent)] - public async Task<ActionResult> UpdateNamedConfiguration([FromRoute, Required] string key) + public ActionResult UpdateNamedConfiguration([FromRoute, Required] string key, [FromBody, Required] JsonDocument configuration) { var configurationType = _configurationManager.GetConfigurationType(key); - var configuration = await JsonSerializer.DeserializeAsync(Request.Body, configurationType, _serializerOptions).ConfigureAwait(false); - if (configuration == null) + var deserializedConfiguration = configuration.Deserialize(configurationType, _serializerOptions); + + if (deserializedConfiguration == null) { throw new ArgumentException("Body doesn't contain a valid configuration"); } - _configurationManager.SaveConfiguration(key, configuration); + _configurationManager.SaveConfiguration(key, deserializedConfiguration); return NoContent(); } |
