From 4999beda3b3f3912b1b7ea1674ba0f57e5a281c9 Mon Sep 17 00:00:00 2001 From: TekH Date: Tue, 24 Mar 2026 11:38:22 +0100 Subject: [PATCH] Refactor endpoint Procedures to Commands for CQRS alignment Renamed Insert/Update/DeleteEndpointProcedure classes to their respective Command counterparts to follow CQRS conventions. Updated controller actions, handlers, InsertObjectProcedure, and related unit tests to use the new Command types. No functional changes were made; this is a naming refactor. --- src/ReC.API/Controllers/EndpointsController.cs | 6 +++--- .../Procedures/InsertProcedure/InsertObjectProcedure.cs | 2 +- ...{DeleteEndpointProcedure.cs => DeleteEndpointCommand.cs} | 6 +++--- ...{InsertEndpointProcedure.cs => InsertEndpointCommand.cs} | 6 +++--- ...{UpdateEndpointProcedure.cs => UpdateEndpointCommand.cs} | 6 +++--- .../Application/Endpoints/EndpointProcedureTests.cs | 6 +++--- 6 files changed, 16 insertions(+), 16 deletions(-) rename src/ReC.Application/Endpoints/Commands/{DeleteEndpointProcedure.cs => DeleteEndpointCommand.cs} (80%) rename src/ReC.Application/Endpoints/Commands/{InsertEndpointProcedure.cs => InsertEndpointCommand.cs} (70%) rename src/ReC.Application/Endpoints/Commands/{UpdateEndpointProcedure.cs => UpdateEndpointCommand.cs} (71%) diff --git a/src/ReC.API/Controllers/EndpointsController.cs b/src/ReC.API/Controllers/EndpointsController.cs index c69af98..fbadcbc 100644 --- a/src/ReC.API/Controllers/EndpointsController.cs +++ b/src/ReC.API/Controllers/EndpointsController.cs @@ -16,7 +16,7 @@ public class EndpointsController(IMediator mediator) : ControllerBase /// The created ENDPOINT identifier. [HttpPost] [ProducesResponseType(StatusCodes.Status201Created)] - public async Task Post([FromBody] InsertEndpointProcedure procedure, CancellationToken cancel) + public async Task Post([FromBody] InsertEndpointCommand procedure, CancellationToken cancel) { var id = await mediator.Send(procedure, cancel); return StatusCode(StatusCodes.Status201Created, id); @@ -30,7 +30,7 @@ public class EndpointsController(IMediator mediator) : ControllerBase /// No content on success. [HttpPut] [ProducesResponseType(StatusCodes.Status204NoContent)] - public async Task Put([FromBody] UpdateEndpointProcedure procedure, CancellationToken cancel) + public async Task Put([FromBody] UpdateEndpointCommand procedure, CancellationToken cancel) { await mediator.Send(procedure, cancel); return NoContent(); @@ -44,7 +44,7 @@ public class EndpointsController(IMediator mediator) : ControllerBase /// No content on success. [HttpDelete] [ProducesResponseType(StatusCodes.Status204NoContent)] - public async Task Delete([FromBody] DeleteEndpointProcedure procedure, CancellationToken cancel) + public async Task Delete([FromBody] DeleteEndpointCommand procedure, CancellationToken cancel) { await mediator.Send(procedure, cancel); return NoContent(); diff --git a/src/ReC.Application/Common/Procedures/InsertProcedure/InsertObjectProcedure.cs b/src/ReC.Application/Common/Procedures/InsertProcedure/InsertObjectProcedure.cs index 9333029..1b4102e 100644 --- a/src/ReC.Application/Common/Procedures/InsertProcedure/InsertObjectProcedure.cs +++ b/src/ReC.Application/Common/Procedures/InsertProcedure/InsertObjectProcedure.cs @@ -25,7 +25,7 @@ public record InsertObjectProcedure : IRequest internal string? AddedWho { get; private set; } = "ReC.API"; public InsertActionProcedure Action { get; set; } = new(); - public InsertEndpointProcedure Endpoint { get; set; } = new(); + public InsertEndpointCommand Endpoint { get; set; } = new(); public InsertEndpointAuthCommand EndpointAuth { get; set; } = new(); public InsertProfileProcedure Profile { get; set; } = new(); public InsertResultProcedure Result { get; set; } = new(); diff --git a/src/ReC.Application/Endpoints/Commands/DeleteEndpointProcedure.cs b/src/ReC.Application/Endpoints/Commands/DeleteEndpointCommand.cs similarity index 80% rename from src/ReC.Application/Endpoints/Commands/DeleteEndpointProcedure.cs rename to src/ReC.Application/Endpoints/Commands/DeleteEndpointCommand.cs index e5213c3..1a9469e 100644 --- a/src/ReC.Application/Endpoints/Commands/DeleteEndpointProcedure.cs +++ b/src/ReC.Application/Endpoints/Commands/DeleteEndpointCommand.cs @@ -3,7 +3,7 @@ using ReC.Application.Common.Procedures.DeleteProcedure; namespace ReC.Application.Endpoints.Commands; -public record DeleteEndpointProcedure : IDeleteProcedure +public record DeleteEndpointCommand : IDeleteProcedure { /// /// Start GUID/ID (inclusive) @@ -21,9 +21,9 @@ public record DeleteEndpointProcedure : IDeleteProcedure public bool Force { get; set; } } -public class DeleteEndpointProcedureHandler(ISender sender) : IRequestHandler +public class DeleteEndpointProcedureHandler(ISender sender) : IRequestHandler { - public async Task Handle(DeleteEndpointProcedure request, CancellationToken cancel) + public async Task Handle(DeleteEndpointCommand request, CancellationToken cancel) { return await sender.Send(new DeleteObjectProcedure { diff --git a/src/ReC.Application/Endpoints/Commands/InsertEndpointProcedure.cs b/src/ReC.Application/Endpoints/Commands/InsertEndpointCommand.cs similarity index 70% rename from src/ReC.Application/Endpoints/Commands/InsertEndpointProcedure.cs rename to src/ReC.Application/Endpoints/Commands/InsertEndpointCommand.cs index 860a27b..b812a94 100644 --- a/src/ReC.Application/Endpoints/Commands/InsertEndpointProcedure.cs +++ b/src/ReC.Application/Endpoints/Commands/InsertEndpointCommand.cs @@ -3,16 +3,16 @@ using ReC.Application.Common.Procedures.InsertProcedure; namespace ReC.Application.Endpoints.Commands; -public record InsertEndpointProcedure : IInsertProcedure +public record InsertEndpointCommand : IInsertProcedure { public bool? Active { get; set; } public string? Description { get; set; } public string? Uri { get; set; } } -public class InsertEndpointProcedureHandler(ISender sender) : IRequestHandler +public class InsertEndpointProcedureHandler(ISender sender) : IRequestHandler { - public async Task Handle(InsertEndpointProcedure request, CancellationToken cancel) + public async Task Handle(InsertEndpointCommand request, CancellationToken cancel) { return await sender.Send(new InsertObjectProcedure { diff --git a/src/ReC.Application/Endpoints/Commands/UpdateEndpointProcedure.cs b/src/ReC.Application/Endpoints/Commands/UpdateEndpointCommand.cs similarity index 71% rename from src/ReC.Application/Endpoints/Commands/UpdateEndpointProcedure.cs rename to src/ReC.Application/Endpoints/Commands/UpdateEndpointCommand.cs index acc1c05..a530f40 100644 --- a/src/ReC.Application/Endpoints/Commands/UpdateEndpointProcedure.cs +++ b/src/ReC.Application/Endpoints/Commands/UpdateEndpointCommand.cs @@ -4,16 +4,16 @@ using ReC.Application.Common.Procedures.UpdateProcedure.Dto; namespace ReC.Application.Endpoints.Commands; -public record UpdateEndpointProcedure : IUpdateProcedure +public record UpdateEndpointCommand : IUpdateProcedure { public long Id { get; set; } public UpdateEndpointDto Data { get; set; } = null!; } -public class UpdateEndpointProcedureHandler(ISender sender) : IRequestHandler +public class UpdateEndpointProcedureHandler(ISender sender) : IRequestHandler { - public async Task Handle(UpdateEndpointProcedure request, CancellationToken cancel) + public async Task Handle(UpdateEndpointCommand request, CancellationToken cancel) { return await sender.Send(new UpdateObjectProcedure { diff --git a/tests/ReC.Tests/Application/Endpoints/EndpointProcedureTests.cs b/tests/ReC.Tests/Application/Endpoints/EndpointProcedureTests.cs index e10b28c..dd7eb46 100644 --- a/tests/ReC.Tests/Application/Endpoints/EndpointProcedureTests.cs +++ b/tests/ReC.Tests/Application/Endpoints/EndpointProcedureTests.cs @@ -23,7 +23,7 @@ public class EndpointProcedureTests : RecApplicationTestBase [Test] public async Task InsertEndpointProcedure_runs_via_mediator() { - var procedure = new InsertEndpointProcedure { Active = true, Description = "desc", Uri = "http://example" }; + var procedure = new InsertEndpointCommand { Active = true, Description = "desc", Uri = "http://example" }; var (sender, scope) = CreateScopedSender(); using var _ = scope; @@ -35,7 +35,7 @@ public class EndpointProcedureTests : RecApplicationTestBase [Test] public async Task UpdateEndpointProcedure_runs_via_mediator() { - var procedure = new UpdateEndpointProcedure { Data = { Active = false, Description = "updated", Uri = "http://updated" }, Id = 12 }; + var procedure = new UpdateEndpointCommand { Data = { Active = false, Description = "updated", Uri = "http://updated" }, Id = 12 }; var (sender, scope) = CreateScopedSender(); using var _ = scope; @@ -47,7 +47,7 @@ public class EndpointProcedureTests : RecApplicationTestBase [Test] public async Task DeleteEndpointProcedure_runs_via_mediator() { - var procedure = new DeleteEndpointProcedure { Start = 1, End = 2, Force = true }; + var procedure = new DeleteEndpointCommand { Start = 1, End = 2, Force = true }; var (sender, scope) = CreateScopedSender(); using var _ = scope;