Handler.cs 744 B

12345678910111213141516171819
  1. using Application.Abstractions.Data;
  2. using Application.Abstractions.Messaging;
  3. using Microsoft.EntityFrameworkCore;
  4. namespace Application.Features.Api.MyPage.GetChatSettings;
  5. internal sealed class Handler(IAppDbContext db) : IQueryHandler<Query, Response>
  6. {
  7. public async Task<Response> Handle(Query request, CancellationToken ct)
  8. {
  9. var settings = await db.MemberApprove.AsNoTracking()
  10. .Where(a => a.MemberID == request.MemberID)
  11. .Select(a => new Response(a.IsChatAllowInvite, a.IsChatAllowWhisper, a.IsChatShowFollowingOnline))
  12. .FirstOrDefaultAsync(ct);
  13. // MemberApprove row 미생성 시 기본값(전부 허용)
  14. return settings ?? new Response(true, true, true);
  15. }
  16. }