Meta.cs 651 B

123456789101112131415161718192021222324
  1. using Web.Api.Common;
  2. using Web.Api.Extensions;
  3. using MediatR;
  4. namespace Web.Api.Endpoints.Forum.Board;
  5. internal sealed class Meta : IEndpoint
  6. {
  7. public void MapEndpoint(IEndpointRouteBuilder app)
  8. {
  9. app.MapGet("api/forum/boards/{boardID}/meta", async (
  10. int boardID,
  11. ISender sender,
  12. CancellationToken ct
  13. ) =>
  14. {
  15. var result = await sender.Send(new Application.Features.Api.Forum.BoardMeta.Get.Query(boardID), ct);
  16. return result.Match(data => ApiResponse.Ok(data), CustomResults.Problem);
  17. })
  18. .WithTags("Forum")
  19. .AllowAnonymous();
  20. }
  21. }