Forráskód Böngészése

Parameterize request body of UpdateNamedConfiguration

This gives OpenAPI clients the knowledge that they should provide a body of some kind.
David Mouse 3 éve
szülő
commit
2133c6e348
1 módosított fájl, 6 hozzáadás és 4 törlés
  1. 6 4
      Jellyfin.Api/Controllers/ConfigurationController.cs

+ 6 - 4
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();
         }