GetChatSettings.cs 887 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.MyPage;
  6. internal sealed class GetChatSettings : IEndpoint
  7. {
  8. public void MapEndpoint(IEndpointRouteBuilder app)
  9. {
  10. app.MapGet("api/mypage/chat-settings", async (
  11. ClaimsPrincipal user,
  12. ISender sender,
  13. CancellationToken ct
  14. ) => {
  15. var memberID = user.GetMemberID();
  16. if (memberID is null)
  17. {
  18. return ApiResponse.Fail(StatusCodes.Status401Unauthorized, "Invalid token");
  19. }
  20. var result = await sender.Send(new Application.Features.Api.MyPage.GetChatSettings.Query(memberID.Value), ct);
  21. return ApiResponse.Ok(result);
  22. })
  23. .WithTags("MyPage")
  24. .RequireAuthorization();
  25. }
  26. }