diff --git a/DysonNetwork.Sphere/Post/PostCategoryController.cs b/DysonNetwork.Sphere/Post/PostCategoryController.cs index d6cb98b..aad770f 100644 --- a/DysonNetwork.Sphere/Post/PostCategoryController.cs +++ b/DysonNetwork.Sphere/Post/PostCategoryController.cs @@ -33,12 +33,12 @@ public class PostCategoryController(AppDatabase db) : ControllerBase var totalCount = await categoriesQuery.CountAsync(); Response.Headers.Append("X-Total", totalCount.ToString()); - + // Get categories with their post counts in a single query var categories = await categoriesQuery .Skip(offset) .Take(take) - .Select(c => new + .Select(c => new { Category = c, PostCount = c.Posts.Count @@ -46,15 +46,13 @@ public class PostCategoryController(AppDatabase db) : ControllerBase .ToListAsync(); // Project results back to the original type and set the Usage property - var result = categories.Select(x => + var result = categories.Select(x => { x.Category.Usage = x.PostCount; return x.Category; }).ToList(); return Ok(result); - - return Ok(categories); } [HttpGet("tags")] @@ -83,12 +81,12 @@ public class PostCategoryController(AppDatabase db) : ControllerBase var totalCount = await tagsQuery.CountAsync(); Response.Headers.Append("X-Total", totalCount.ToString()); - + // Get tags with their post counts in a single query var tags = await tagsQuery .Skip(offset) .Take(take) - .Select(t => new + .Select(t => new { Tag = t, PostCount = t.Posts.Count @@ -96,7 +94,7 @@ public class PostCategoryController(AppDatabase db) : ControllerBase .ToListAsync(); // Project results back to the original type and set the Usage property - var result = tags.Select(x => + var result = tags.Select(x => { x.Tag.Usage = x.PostCount; return x.Tag; @@ -122,4 +120,4 @@ public class PostCategoryController(AppDatabase db) : ControllerBase return NotFound(); return Ok(tag); } -} \ No newline at end of file +} diff --git a/DysonNetwork.Sphere/WebReader/WebFeedPublicController.cs b/DysonNetwork.Sphere/WebReader/WebFeedPublicController.cs index 90f4aa2..0503ea7 100644 --- a/DysonNetwork.Sphere/WebReader/WebFeedPublicController.cs +++ b/DysonNetwork.Sphere/WebReader/WebFeedPublicController.cs @@ -235,15 +235,9 @@ public class WebFeedPublicController( var accountId = Guid.Parse(currentUser.Id); - // Get IDs of already subscribed feeds - var subscribedFeedIds = await db.WebFeedSubscriptions - .Where(s => s.AccountId == accountId) - .Select(s => s.FeedId) - .ToListAsync(); - var feedsQuery = db.WebFeeds .Include(f => f.Publisher) - .Where(f => !subscribedFeedIds.Contains(f.Id)) + .OrderByDescending(f => f.CreatedAt) .AsQueryable(); // Apply search filter if query is provided @@ -256,9 +250,6 @@ public class WebFeedPublicController( ); } - // Order by most recently created first - feedsQuery = feedsQuery.OrderByDescending(f => f.CreatedAt); - var totalCount = await feedsQuery.CountAsync(); var feeds = await feedsQuery .Skip(offset)