using Mediator; using Microsoft.EntityFrameworkCore; using Musify.Application.Contracts; namespace Musify.Application.Users; public record IsFollowingUserQuery(long FollowerId, long FollowedId) : IQuery; public class IsFollowingUserQueryHandler(IDatabase database) : IQueryHandler { public ValueTask Handle(IsFollowingUserQuery request, CancellationToken cancellationToken) => new(database.UserFollows .AsNoTracking() .AnyAsync(f => f.FollowerId == request.FollowerId && f.FollowedId == request.FollowedId, cancellationToken)); }