diff --git a/Iceshrimp.Backend/Core/Extensions/QueryableExtensions.cs b/Iceshrimp.Backend/Core/Extensions/QueryableExtensions.cs index bfc09464..9c112f39 100644 --- a/Iceshrimp.Backend/Core/Extensions/QueryableExtensions.cs +++ b/Iceshrimp.Backend/Core/Extensions/QueryableExtensions.cs @@ -259,6 +259,17 @@ public static class QueryableExtensions return query.Where(note => note.Visibility == visibility); } + public static IQueryable FilterByFollowingAndOwn( + this IQueryable query, User user, DatabaseContext db + ) + { + return query.Where(note => db.Followings + .Where(p => p.Follower == user) + .Select(p => p.FolloweeId) + .Concat(new[] { user.Id }) + .Contains(note.UserId)); + } + public static IQueryable FilterByUser(this IQueryable query, User user) { return query.Where(note => note.User == user); diff --git a/Iceshrimp.Backend/Core/Extensions/QueryableTimelineExtensions.cs b/Iceshrimp.Backend/Core/Extensions/QueryableTimelineExtensions.cs deleted file mode 100644 index 907ff17a..00000000 --- a/Iceshrimp.Backend/Core/Extensions/QueryableTimelineExtensions.cs +++ /dev/null @@ -1,31 +0,0 @@ -using System.Diagnostics.CodeAnalysis; -using Iceshrimp.Backend.Core.Database; -using Iceshrimp.Backend.Core.Database.Tables; -using Iceshrimp.Backend.Core.Services; -using Microsoft.EntityFrameworkCore; - -namespace Iceshrimp.Backend.Core.Extensions; - -public static class QueryableTimelineExtensions -{ - // Determined empirically in 2023. Ask zotan for the spreadsheet if you're curious. - private const int Cutoff = 250; - - public static IQueryable FilterByFollowingAndOwn( - this IQueryable query, User user, DatabaseContext db - ) - { - return query.Where(note => db.Followings - .Where(p => p.Follower == user) - .Select(p => p.FolloweeId) - .Concat(new[] { user.Id }) - .Contains(note.UserId)); - } - - private static IQueryable FollowingAndOwnLowFreq(this IQueryable query, User user, DatabaseContext db) - => query.Where(note => db.Followings - .Where(p => p.Follower == user) - .Select(p => p.FolloweeId) - .Concat(new[] { user.Id }) - .Contains(note.UserId)); -} \ No newline at end of file