Refactor EndpointsController to use standard MediatR pattern
Removed IConfiguration dependency and replaced custom mediator extension methods with standard mediator.Send calls for endpoint commands. Simplified method signatures and removed unused usings. Updated PUT endpoint to accept UpdateEndpointProcedure directly.
This commit is contained in:
@@ -1,15 +1,12 @@
|
|||||||
using MediatR;
|
using MediatR;
|
||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
using ReC.Application.Common.Procedures.DeleteProcedure;
|
|
||||||
using ReC.Application.Common.Procedures.InsertProcedure;
|
|
||||||
using ReC.Application.Common.Procedures.UpdateProcedure;
|
|
||||||
using ReC.Application.Endpoints.Commands;
|
using ReC.Application.Endpoints.Commands;
|
||||||
|
|
||||||
namespace ReC.API.Controllers;
|
namespace ReC.API.Controllers;
|
||||||
|
|
||||||
[Route("api/[controller]")]
|
[Route("api/[controller]")]
|
||||||
[ApiController]
|
[ApiController]
|
||||||
public class EndpointsController(IMediator mediator, IConfiguration config) : ControllerBase
|
public class EndpointsController(IMediator mediator) : ControllerBase
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Inserts an endpoint via the ENDPOINT insert procedure.
|
/// Inserts an endpoint via the ENDPOINT insert procedure.
|
||||||
@@ -21,22 +18,21 @@ public class EndpointsController(IMediator mediator, IConfiguration config) : Co
|
|||||||
[ProducesResponseType(StatusCodes.Status201Created)]
|
[ProducesResponseType(StatusCodes.Status201Created)]
|
||||||
public async Task<IActionResult> Post([FromBody] InsertEndpointProcedure procedure, CancellationToken cancel)
|
public async Task<IActionResult> Post([FromBody] InsertEndpointProcedure procedure, CancellationToken cancel)
|
||||||
{
|
{
|
||||||
var id = await mediator.ExecuteInsertProcedure(procedure, config["AddedWho"], cancel);
|
var id = await mediator.Send(procedure, cancel);
|
||||||
return StatusCode(StatusCodes.Status201Created, id);
|
return StatusCode(StatusCodes.Status201Created, id);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Updates an endpoint via the ENDPOINT update procedure.
|
/// Updates an endpoint via the ENDPOINT update procedure.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="id">ENDPOINT identifier to update.</param>
|
|
||||||
/// <param name="procedure">UpdateEndpointProcedure payload.</param>
|
/// <param name="procedure">UpdateEndpointProcedure payload.</param>
|
||||||
/// <param name="cancel">A token to cancel the operation.</param>
|
/// <param name="cancel">A token to cancel the operation.</param>
|
||||||
/// <returns>No content on success.</returns>
|
/// <returns>No content on success.</returns>
|
||||||
[HttpPut("{id:long}")]
|
[HttpPut]
|
||||||
[ProducesResponseType(StatusCodes.Status204NoContent)]
|
[ProducesResponseType(StatusCodes.Status204NoContent)]
|
||||||
public async Task<IActionResult> Put([FromRoute] long id, [FromBody] UpdateEndpointProcedure procedure, CancellationToken cancel)
|
public async Task<IActionResult> Put([FromBody] UpdateEndpointProcedure procedure, CancellationToken cancel)
|
||||||
{
|
{
|
||||||
await mediator.ExecuteUpdateProcedure(procedure, id, cancel: cancel);
|
await mediator.Send(procedure, cancel);
|
||||||
return NoContent();
|
return NoContent();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -50,7 +46,7 @@ public class EndpointsController(IMediator mediator, IConfiguration config) : Co
|
|||||||
[ProducesResponseType(StatusCodes.Status204NoContent)]
|
[ProducesResponseType(StatusCodes.Status204NoContent)]
|
||||||
public async Task<IActionResult> Delete([FromBody] DeleteEndpointProcedure procedure, CancellationToken cancel)
|
public async Task<IActionResult> Delete([FromBody] DeleteEndpointProcedure procedure, CancellationToken cancel)
|
||||||
{
|
{
|
||||||
await mediator.ExecuteDeleteProcedure(procedure, cancel);
|
await mediator.Send(procedure, cancel);
|
||||||
return NoContent();
|
return NoContent();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user