SuggestedFollows.cs 821 B

12345678910111213141516171819202122232425262728293031
  1. using System.Security.Claims;
  2. using Application.Abstractions.Messaging;
  3. using Web.Api.Common;
  4. using Web.Api.Extensions;
  5. namespace Web.Api.Endpoints.Feed;
  6. internal sealed class SuggestedFollows : IEndpoint
  7. {
  8. public void MapEndpoint(IEndpointRouteBuilder app)
  9. {
  10. app.MapGet("api/feed/suggested-follows", async (
  11. int? top,
  12. ClaimsPrincipal user,
  13. ISender sender,
  14. CancellationToken ct
  15. ) => {
  16. var viewerID = user.GetMemberID();
  17. var query = new Application.Features.Api.Feed.GetSuggestedFollows.Query(
  18. viewerID,
  19. top is > 0 ? top.Value : 5
  20. );
  21. var result = await sender.Send(query, ct);
  22. return ApiResponse.Ok(result);
  23. })
  24. .WithTags("Feed");
  25. }
  26. }