Refactor RecActionController and add new endpoints

- Introduced `FakeProfileId` constant to replace hardcoded values.
- Added `HttpGet` endpoint `api/[controller]/fake` to retrieve data using `FakeProfileId`.
- Added `HttpPost` endpoint `api/[controller]/invoke/{profileId}` for batch actions.
- Updated `CreateAction` and `Delete` methods to use `FakeProfileId`.
- Added `HttpDelete` endpoint `api/[controller]/fake` to delete actions using `FakeProfileId`.
- Improved code maintainability by centralizing the fake profile ID and adding dedicated endpoints.
This commit is contained in:
tekh 2025-12-03 13:49:26 +01:00
parent dd33d74863
commit 6de45e3feb

View File

@ -11,6 +11,8 @@ namespace ReC.API.Controllers;
[ApiController] [ApiController]
public class RecActionController(IMediator mediator) : ControllerBase public class RecActionController(IMediator mediator) : ControllerBase
{ {
private const long FakeProfileId = 2;
[HttpPost("invoke/{profileId}")] [HttpPost("invoke/{profileId}")]
public async Task<IActionResult> Invoke([FromRoute] int profileId, CancellationToken cancel) public async Task<IActionResult> Invoke([FromRoute] int profileId, CancellationToken cancel)
{ {
@ -25,6 +27,12 @@ public class RecActionController(IMediator mediator) : ControllerBase
ProfileId = profileId ProfileId = profileId
}, cancel)); }, cancel));
[HttpGet("fake")]
public async Task<IActionResult> Get(CancellationToken cancel) => Ok(await mediator.Send(new ReadRecActionQuery()
{
ProfileId = FakeProfileId
}, cancel));
[HttpPost] [HttpPost]
public async Task<IActionResult> CreateAction([FromBody] CreateRecActionCommand command, CancellationToken cancel) public async Task<IActionResult> CreateAction([FromBody] CreateRecActionCommand command, CancellationToken cancel)
{ {
@ -49,7 +57,7 @@ public class RecActionController(IMediator mediator) : ControllerBase
await mediator.Send(new CreateRecActionCommand() await mediator.Send(new CreateRecActionCommand()
{ {
ProfileId = 2, ProfileId = FakeProfileId,
EndpointUri = endpointUri, EndpointUri = endpointUri,
Type = type, Type = type,
BodyQuery = $@"SELECT '{bodyJson ?? "NULL"}' AS REQUEST_BODY;", BodyQuery = $@"SELECT '{bodyJson ?? "NULL"}' AS REQUEST_BODY;",
@ -66,7 +74,7 @@ public class RecActionController(IMediator mediator) : ControllerBase
{ {
await mediator.Send(new DeleteRecActionsCommand() await mediator.Send(new DeleteRecActionsCommand()
{ {
ProfileId = profileId ProfileId = FakeProfileId
}, cancel); }, cancel);
return NoContent(); return NoContent();
@ -77,7 +85,7 @@ public class RecActionController(IMediator mediator) : ControllerBase
{ {
await mediator.Send(new DeleteRecActionsCommand() await mediator.Send(new DeleteRecActionsCommand()
{ {
ProfileId = 2 ProfileId = FakeProfileId
}, cancel); }, cancel);
return NoContent(); return NoContent();