using Application.Abstractions.Data; using Application.Abstractions.Messaging; using Microsoft.EntityFrameworkCore; namespace Application.Features.Api.MyPage.GetChatSettings; internal sealed class Handler(IAppDbContext db) : IQueryHandler { public async Task Handle(Query request, CancellationToken ct) { var settings = await db.MemberApprove.AsNoTracking() .Where(a => a.MemberID == request.MemberID) .Select(a => new Response(a.IsChatAllowInvite, a.IsChatAllowWhisper, a.IsChatShowFollowingOnline)) .FirstOrDefaultAsync(ct); // MemberApprove row 미생성 시 기본값(전부 허용) return settings ?? new Response(true, true, true); } }