Items.cs 739 B

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