From eff6350d778986406369d6280b7e5a97094a5e31 Mon Sep 17 00:00:00 2001 From: TekH Date: Tue, 24 Mar 2026 11:09:46 +0100 Subject: [PATCH] Refactor update procedures to use DTO-based pattern Refactored Update*Procedure records to encapsulate update data in dedicated DTOs (e.g., UpdateActionDto, UpdateEndpointDto) via a generic Data property. Updated interfaces to be generic and modified handlers to pass only the DTO to UpdateObjectProcedure. This improves maintainability, reduces duplication, and standardizes update logic across entities. --- .../Commands/UpdateEndpointAuthProcedure.cs | 18 +++++------------ .../Commands/UpdateEndpointParamsProcedure.cs | 13 +++++------- .../Commands/UpdateEndpointProcedure.cs | 10 +++++----- .../Commands/UpdateProfileProcedure.cs | 17 +++++----------- .../Commands/UpdateActionProcedure.cs | 20 +++++-------------- .../Results/Commands/UpdateResultProcedure.cs | 11 +++++----- 6 files changed, 30 insertions(+), 59 deletions(-) diff --git a/src/ReC.Application/EndpointAuth/Commands/UpdateEndpointAuthProcedure.cs b/src/ReC.Application/EndpointAuth/Commands/UpdateEndpointAuthProcedure.cs index ece5c03..0ec6688 100644 --- a/src/ReC.Application/EndpointAuth/Commands/UpdateEndpointAuthProcedure.cs +++ b/src/ReC.Application/EndpointAuth/Commands/UpdateEndpointAuthProcedure.cs @@ -1,22 +1,14 @@ using MediatR; using ReC.Application.Common.Procedures.UpdateProcedure; +using ReC.Application.Common.Procedures.UpdateProcedure.Dto; namespace ReC.Application.EndpointAuth.Commands; -public record UpdateEndpointAuthProcedure : IUpdateProcedure +public record UpdateEndpointAuthProcedure : IUpdateProcedure { public long Id { get; set; } - public bool? Active { get; set; } - public string? Description { get; set; } - public byte? TypeId { get; set; } - public string? ApiKey { get; set; } - public string? ApiValue { get; set; } - public bool? ApiKeyAddToId { get; set; } - public string? Token { get; set; } - public string? Username { get; set; } - public string? Password { get; set; } - public string? Domain { get; set; } - public string? Workstation { get; set; } + + public UpdateEndpointAuthDto Data { get; set; } = null!; } public class UpdateEndpointAuthProcedureHandler(ISender sender) : IRequestHandler @@ -27,7 +19,7 @@ public class UpdateEndpointAuthProcedureHandler(ISender sender) : IRequestHandle { Entity = "ENDPOINT_AUTH", Id = request.Id, - EndpointAuth = request + EndpointAuth = request.Data }, cancel); } } \ No newline at end of file diff --git a/src/ReC.Application/EndpointParams/Commands/UpdateEndpointParamsProcedure.cs b/src/ReC.Application/EndpointParams/Commands/UpdateEndpointParamsProcedure.cs index 15a0363..1de5dac 100644 --- a/src/ReC.Application/EndpointParams/Commands/UpdateEndpointParamsProcedure.cs +++ b/src/ReC.Application/EndpointParams/Commands/UpdateEndpointParamsProcedure.cs @@ -1,17 +1,14 @@ using MediatR; using ReC.Application.Common.Procedures.UpdateProcedure; +using ReC.Application.Common.Procedures.UpdateProcedure.Dto; namespace ReC.Application.EndpointParams.Commands; -public record UpdateEndpointParamsProcedure : IUpdateProcedure +public record UpdateEndpointParamsProcedure : IUpdateProcedure { public long Id { get; set; } - public bool? Active { get; set; } - public string? Description { get; set; } - public short? GroupId { get; set; } - public byte? Sequence { get; set; } - public string? Key { get; set; } - public string? Value { get; set; } + + public UpdateEndpointParamsDto Data { get; set; } = null!; } public class UpdateEndpointParamsProcedureHandler(ISender sender) : IRequestHandler @@ -22,7 +19,7 @@ public class UpdateEndpointParamsProcedureHandler(ISender sender) : IRequestHand { Entity = "ENDPOINT_PARAMS", Id = request.Id, - EndpointParams = request + EndpointParams = request.Data }, cancel); } } \ No newline at end of file diff --git a/src/ReC.Application/Endpoints/Commands/UpdateEndpointProcedure.cs b/src/ReC.Application/Endpoints/Commands/UpdateEndpointProcedure.cs index 993b9cd..acc1c05 100644 --- a/src/ReC.Application/Endpoints/Commands/UpdateEndpointProcedure.cs +++ b/src/ReC.Application/Endpoints/Commands/UpdateEndpointProcedure.cs @@ -1,14 +1,14 @@ using MediatR; using ReC.Application.Common.Procedures.UpdateProcedure; +using ReC.Application.Common.Procedures.UpdateProcedure.Dto; namespace ReC.Application.Endpoints.Commands; -public record UpdateEndpointProcedure : IUpdateProcedure +public record UpdateEndpointProcedure : IUpdateProcedure { public long Id { get; set; } - public bool? Active { get; set; } - public string? Description { get; set; } - public string? Uri { get; set; } + + public UpdateEndpointDto Data { get; set; } = null!; } public class UpdateEndpointProcedureHandler(ISender sender) : IRequestHandler @@ -19,7 +19,7 @@ public class UpdateEndpointProcedureHandler(ISender sender) : IRequestHandler { public long Id { get; set; } - public bool? Active { get; set; } - public byte? TypeId { get; set; } - public string? Mandantor { get; set; } - public string? Name { get; set; } - public string? Description { get; set; } - public byte? LogLevelId { get; set; } - public short? LanguageId { get; set; } - public DateTime? FirstRun { get; set; } - public DateTime? LastRun { get; set; } - public string? LastResult { get; set; } + + public UpdateProfileDto Data { get; set; } = null!; } public class UpdateProfileProcedureHandler(ISender sender) : IRequestHandler @@ -26,7 +19,7 @@ public class UpdateProfileProcedureHandler(ISender sender) : IRequestHandler { public long Id { get; set; } - public long? ProfileId { get; set; } - public bool? Active { get; set; } - public byte? Sequence { get; set; } - public long? EndpointId { get; set; } - public long? EndpointAuthId { get; set; } - public short? EndpointParamsId { get; set; } - public short? SqlConnectionId { get; set; } - public byte? TypeId { get; set; } - public string? PreSql { get; set; } - public string? HeaderSql { get; set; } - public string? BodySql { get; set; } - public string? PostSql { get; set; } - public byte? ErrorActionId { get; set; } + + public UpdateActionDto Data { get; set; } = null!; } public class UpdateActionProcedureHandler(ISender sender) : IRequestHandler @@ -29,7 +19,7 @@ public class UpdateActionProcedureHandler(ISender sender) : IRequestHandler { public long Id { get; set; } - public long? ActionId { get; set; } - public short? StatusId { get; set; } - public string? Header { get; set; } - public string? Body { get; set; } + + public UpdateResultDto Data { get; set; } = null!; } public class UpdateResultProcedureHandler(ISender sender) : IRequestHandler @@ -20,7 +19,7 @@ public class UpdateResultProcedureHandler(ISender sender) : IRequestHandler