Jelajahi Sumber

Merge pull request #5099 from crobibero/non-required-query-param

(cherry picked from commit e5828cdbf179181f7f891f79637da8819db6de12)
Signed-off-by: Joshua M. Boniface <joshua@boniface.me>
Claus Vium 4 tahun lalu
induk
melakukan
a7f65bd205

+ 1 - 1
Jellyfin.Api/Controllers/PackageController.cs

@@ -158,7 +158,7 @@ namespace Jellyfin.Api.Controllers
         [HttpPost("Repositories")]
         [HttpPost("Repositories")]
         [Authorize(Policy = Policies.DefaultAuthorization)]
         [Authorize(Policy = Policies.DefaultAuthorization)]
         [ProducesResponseType(StatusCodes.Status204NoContent)]
         [ProducesResponseType(StatusCodes.Status204NoContent)]
-        public ActionResult SetRepositories([FromBody] List<RepositoryInfo> repositoryInfos)
+        public ActionResult SetRepositories([FromBody, Required] List<RepositoryInfo> repositoryInfos)
         {
         {
             _serverConfigurationManager.Configuration.PluginRepositories = repositoryInfos;
             _serverConfigurationManager.Configuration.PluginRepositories = repositoryInfos;
             _serverConfigurationManager.SaveConfiguration();
             _serverConfigurationManager.SaveConfiguration();

+ 1 - 1
Jellyfin.Api/Controllers/UserController.cs

@@ -514,7 +514,7 @@ namespace Jellyfin.Api.Controllers
         /// <returns>A <see cref="Task"/> containing a <see cref="PinRedeemResult"/>.</returns>
         /// <returns>A <see cref="Task"/> containing a <see cref="PinRedeemResult"/>.</returns>
         [HttpPost("ForgotPassword/Pin")]
         [HttpPost("ForgotPassword/Pin")]
         [ProducesResponseType(StatusCodes.Status200OK)]
         [ProducesResponseType(StatusCodes.Status200OK)]
-        public async Task<ActionResult<PinRedeemResult>> ForgotPasswordPin([FromBody] string? pin)
+        public async Task<ActionResult<PinRedeemResult>> ForgotPasswordPin([FromBody, Required] string pin)
         {
         {
             var result = await _userManager.RedeemPasswordResetPin(pin).ConfigureAwait(false);
             var result = await _userManager.RedeemPasswordResetPin(pin).ConfigureAwait(false);
             return result;
             return result;

+ 3 - 0
Jellyfin.Server/Extensions/ApiServiceCollectionExtensions.cs

@@ -308,6 +308,9 @@ namespace Jellyfin.Server.Extensions
                                ?? null;
                                ?? null;
                     });
                     });
 
 
+                // Allow parameters to properly be nullable.
+                c.UseAllOfToExtendReferenceSchemas();
+
                 // TODO - remove when all types are supported in System.Text.Json
                 // TODO - remove when all types are supported in System.Text.Json
                 c.AddSwaggerTypeMappings();
                 c.AddSwaggerTypeMappings();