More AI changes
This commit is contained in:
@@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
32
Lutra/Lutra.API/Controllers/SupermarktenController.cs
Normal file
32
Lutra/Lutra.API/Controllers/SupermarktenController.cs
Normal 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));
|
||||
}
|
||||
}
|
||||
@@ -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));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,9 +1,11 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk.Web">
|
||||
<Project Sdk="Microsoft.NET.Sdk.Web">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net10.0</TargetFramework>
|
||||
<Nullable>enable</Nullable>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<GenerateDocumentationFile>true</GenerateDocumentationFile>
|
||||
<NoWarn>$(NoWarn);1591</NoWarn>
|
||||
<UserSecretsId>c9bd54b0-d347-4e93-bcea-ed5e98a71d5c</UserSecretsId>
|
||||
<DockerDefaultTargetOS>Linux</DockerDefaultTargetOS>
|
||||
</PropertyGroup>
|
||||
@@ -16,6 +18,7 @@
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
</PackageReference>
|
||||
<PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.23.0" />
|
||||
<PackageReference Include="Scalar.AspNetCore" Version="2.13.20" />
|
||||
<ProjectReference Include="..\Lutra.Infrastructure\Lutra.Infrastructure.Sql.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
@@ -23,4 +26,4 @@
|
||||
<ProjectReference Include="..\Lutra.Application\Lutra.Application.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
</Project>
|
||||
@@ -4,6 +4,7 @@ using Lutra.Application.Verspakketten;
|
||||
using Lutra.Application.Interfaces;
|
||||
using Lutra.Infrastructure.Sql;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Scalar.AspNetCore;
|
||||
|
||||
namespace Lutra.API
|
||||
{
|
||||
@@ -22,16 +23,16 @@ namespace Lutra.API
|
||||
options.UseNpgsql(builder.Configuration.GetConnectionString("LutraDb")));
|
||||
|
||||
builder.Services.AddControllers();
|
||||
// Learn more about configuring OpenAPI at https://aka.ms/aspnet/openapi
|
||||
builder.Services.AddOpenApi();
|
||||
|
||||
|
||||
var app = builder.Build();
|
||||
|
||||
// Configure the HTTP request pipeline.
|
||||
if (app.Environment.IsDevelopment())
|
||||
{
|
||||
app.MapOpenApi();
|
||||
app.MapScalarApiReference();
|
||||
app.MapGet("/", () => Results.Redirect("/scalar/v1")).ExcludeFromDescription();
|
||||
}
|
||||
|
||||
app.UseHttpsRedirection();
|
||||
|
||||
Reference in New Issue
Block a user