Items.cs 646 B

12345678910111213141516171819202122232425262728
  1. using MediatR;
  2. using Web.Api.Common;
  3. namespace Web.Api.Endpoints.Faq;
  4. internal sealed class Items : IEndpoint
  5. {
  6. public sealed record Request(
  7. string Code
  8. );
  9. public void MapEndpoint(IEndpointRouteBuilder app)
  10. {
  11. app.MapPost("api/faq/items", async (
  12. Request request,
  13. ISender sender,
  14. CancellationToken ct
  15. ) => {
  16. var query = new Application.Features.Api.Faq.Item.GetByCode.Query(request.Code);
  17. return ApiResponse.Ok(
  18. await sender.Send(query, ct)
  19. );
  20. })
  21. .WithTags("Faq")
  22. .AllowAnonymous();
  23. }
  24. }