diff --git a/src/ReC.API/Controllers/OutResController.cs b/src/ReC.API/Controllers/OutResController.cs
index 330cbd6..ec98e69 100644
--- a/src/ReC.API/Controllers/OutResController.cs
+++ b/src/ReC.API/Controllers/OutResController.cs
@@ -3,6 +3,8 @@ using Microsoft.AspNetCore.Mvc;
using ReC.API.Extensions;
using ReC.API.Models;
using ReC.Application.Common.Procedures.DeleteProcedure;
+using ReC.Application.Common.Procedures.InsertProcedure;
+using ReC.Application.Common.Procedures.UpdateProcedure;
using ReC.Application.OutResults.Commands;
using ReC.Application.OutResults.Queries;
@@ -58,7 +60,36 @@ public class OutResController(IMediator mediator, IConfiguration config) : Contr
_ => Ok(res),
};
}
-
+
+ ///
+ /// Inserts a RESULT record via the insert procedure.
+ ///
+ /// InsertResultProcedure payload.
+ /// A token to cancel the operation.
+ /// The created RESULT identifier.
+ [HttpPost]
+ [ProducesResponseType(StatusCodes.Status201Created)]
+ public async Task Post([FromBody] InsertResultProcedure procedure, CancellationToken cancel)
+ {
+ var id = await mediator.ExecuteInsertProcedure(procedure, cancel: cancel);
+ return StatusCode(StatusCodes.Status201Created, id);
+ }
+
+ ///
+ /// Updates a RESULT record via the update procedure.
+ ///
+ /// RESULT identifier to update.
+ /// UpdateResultProcedure payload.
+ /// A token to cancel the operation.
+ /// No content on success.
+ [HttpPut("{id:long}")]
+ [ProducesResponseType(StatusCodes.Status204NoContent)]
+ public async Task Put([FromRoute] long id, [FromBody] UpdateResultProcedure procedure, CancellationToken cancel)
+ {
+ await mediator.ExecuteUpdateProcedure(procedure, id, cancel: cancel);
+ return NoContent();
+ }
+
///
/// Deletes RESULT records via the delete procedure for the specified id range.
///