Refactor PUT endpoints to use id in route and DTO in body

Refactored update (PUT) endpoints in multiple controllers to accept the record id as a route parameter and the update data as a DTO in the request body. Updated method signatures, XML documentation, and imports to align with RESTful conventions and improve API clarity. Controller methods now construct command objects using the id and DTO before sending to MediatR.
This commit is contained in:
2026-03-24 12:07:50 +01:00
parent dcfa47c68d
commit daff1477be
6 changed files with 35 additions and 26 deletions

View File

@@ -1,5 +1,6 @@
using MediatR;
using Microsoft.AspNetCore.Mvc;
using ReC.Application.Common.Procedures.UpdateProcedure.Dto;
using ReC.Application.EndpointParams.Commands;
namespace ReC.API.Controllers;
@@ -25,14 +26,15 @@ public class EndpointParamsController(IMediator mediator) : ControllerBase
/// <summary>
/// Updates endpoint parameter records via the ENDPOINT_PARAMS update procedure.
/// </summary>
/// <param name="procedure">UpdateEndpointParamsProcedure payload.</param>
/// <param name="id">The identifier of the ENDPOINT_PARAMS record to update.</param>
/// <param name="data">UpdateEndpointParamsProcedure payload.</param>
/// <param name="cancel">A token to cancel the operation.</param>
/// <returns>No content on success.</returns>
[HttpPut]
[HttpPut("{id:long}")]
[ProducesResponseType(StatusCodes.Status204NoContent)]
public async Task<IActionResult> Put([FromBody] UpdateEndpointParamsCommand procedure, CancellationToken cancel)
public async Task<IActionResult> Put([FromRoute] long id, [FromBody] UpdateEndpointParamsDto data, CancellationToken cancel)
{
await mediator.Send(procedure, cancel);
await mediator.Send(new UpdateEndpointParamsCommand() { Id = id, Data = data }, cancel);
return NoContent();
}