Search.cs 709 B

1234567891011121314151617181920212223242526
  1. using MediatR;
  2. using Web.Api.Common;
  3. namespace Web.Api.Endpoints.Forum.Board;
  4. internal sealed class Search : IEndpoint
  5. {
  6. public void MapEndpoint(IEndpointRouteBuilder app)
  7. {
  8. app.MapGet("api/forum/boards", async (
  9. ISender sender,
  10. CancellationToken ct,
  11. int? boardGroupID = null,
  12. string? keyword = null,
  13. int pageNum = 1,
  14. ushort perPage = 20
  15. ) =>
  16. {
  17. var query = new Application.Features.Api.Forum.Board.Search.Query(boardGroupID, keyword, pageNum, perPage);
  18. return ApiResponse.Ok(await sender.Send(query, ct));
  19. })
  20. .WithTags("Forum")
  21. .AllowAnonymous();
  22. }
  23. }