More AI changes

This commit is contained in:
moarten
2026-04-09 22:35:54 +02:00
parent 569cfbb85d
commit 87d15b99ed
24 changed files with 973 additions and 20 deletions

View File

@@ -1,14 +1,22 @@
using Microsoft.AspNetCore.Http.HttpResults;
using Microsoft.AspNetCore.Mvc;
namespace Lutra.API.Controllers;
/// <summary>
/// Exposes a lightweight health check for the API.
/// </summary>
[ApiController]
[Route("health")]
public class HealthController : Controller
[Produces("application/json")]
[ProducesResponseType(StatusCodes.Status200OK)]
public class HealthController : ControllerBase
{
/// <summary>
/// Returns the API health status.
/// </summary>
[HttpGet]
public IActionResult Index()
{
return Ok();
}
}
}

View File

@@ -0,0 +1,32 @@
using Cortex.Mediator;
using Lutra.Application.Supermarkten;
using Lutra.Application.Verspakketten;
using Microsoft.AspNetCore.Mvc;
namespace Lutra.API.Controllers;
/// <summary>
/// Provides a dedicated endpoint group for Supermarkt-related operations.
/// </summary>
/// <remarks>
/// This controller is intentionally empty for now. Endpoints will be added when the Supermarkt
/// use cases are implemented.
/// </remarks>
[ApiController]
[Route("api/supermarkten")]
[Produces("application/json")]
public class SupermarktenController(IMediator mediator) : ControllerBase
{
/// <summary>
/// Gets a page of supermarkten.
/// </summary>
/// <param name="skip">The number of items to skip.</param>
/// <param name="take">The maximum number of items to return.</param>
/// <returns>The requested verspakket page.</returns>
[HttpGet]
[ProducesResponseType(typeof(GetSupermarkten.Response), StatusCodes.Status200OK)]
public async Task<GetSupermarkten.Response> Get(int skip = 0, int take = 50)
{
return await mediator.SendQueryAsync<GetSupermarkten.Query, GetSupermarkten.Response>(new GetSupermarkten.Query(skip, take));
}
}

View File

@@ -4,14 +4,25 @@ using Microsoft.AspNetCore.Mvc;
namespace Lutra.API.Controllers
{
/// <summary>
/// Provides read-only access to verspakket resources.
/// </summary>
[ApiController]
[Route("api/verspakketten")]
[Produces("application/json")]
public class VerspakkettenController(IMediator mediator) : ControllerBase
{
/// <summary>
/// Gets a page of verspakketten.
/// </summary>
/// <param name="skip">The number of items to skip.</param>
/// <param name="take">The maximum number of items to return.</param>
/// <returns>The requested verspakket page.</returns>
[HttpGet]
public async Task<GetVerspakketten.Response> GetAll(int skip = 0, int take = 50)
[ProducesResponseType(typeof(GetVerspakketten.Response), StatusCodes.Status200OK)]
public async Task<GetVerspakketten.Response> Get(int skip = 0, int take = 50)
{
return await mediator.SendQueryAsync<GetVerspakketten.Query, GetVerspakketten.Response>(new GetVerspakketten.Query(skip, take));
}
}
}
}