Add enhancements to ActionController and CreateFakeAction

Refactored ActionController to include IMediator dependency
in the constructor. Updated CreateFakeAction method to:
- Set a default value for `endpointUri`.
- Add an optional `endpointPath` parameter and logic to
  construct a full URI.
- Include the `Active` property in CreateRecActionCommand.
- Ensure `endpointUri` is non-nullable.

Also added the `System.IO` namespace for potential future use.
This commit is contained in:
tekh 2025-12-03 09:52:25 +01:00
parent 4d593e8a8e
commit 1000be0c89

View File

@ -1,6 +1,7 @@
using MediatR; using MediatR;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using ReC.Application.RecActions.Commands; using ReC.Application.RecActions.Commands;
using System.IO;
namespace ReC.API.Controllers; namespace ReC.API.Controllers;
@ -25,16 +26,21 @@ public class ActionController(IMediator mediator) : ControllerBase
[HttpPost("fake")] [HttpPost("fake")]
public async Task<IActionResult> CreateFakeAction( public async Task<IActionResult> CreateFakeAction(
string? endpointUri = null, string endpointUri = "https://jsonplaceholder.typicode.com/posts",
string? endpointPath = null,
string type = "GET", string type = "GET",
string bodyQuery = "SELECT NULL AS REQUEST_BODY;") string bodyQuery = "SELECT NULL AS REQUEST_BODY;")
{ {
if (endpointPath is not null)
endpointUri = new Uri(new Uri(endpointUri.TrimEnd('/') + "/"), endpointPath.TrimStart('/')).ToString();
await mediator.Send(new CreateRecActionCommand() await mediator.Send(new CreateRecActionCommand()
{ {
ProfileId = 2, ProfileId = 2,
EndpointUri = endpointUri, EndpointUri = endpointUri,
Type = type, Type = type,
BodyQuery = bodyQuery BodyQuery = bodyQuery,
Active = true,
}); });
return CreatedAtAction(nameof(CreateFakeAction), null); return CreatedAtAction(nameof(CreateFakeAction), null);