diff --git a/DysonNetwork.Sphere/Activity/ActivityService.cs b/DysonNetwork.Sphere/Activity/ActivityService.cs index 2d067bf..ffa62cd 100644 --- a/DysonNetwork.Sphere/Activity/ActivityService.cs +++ b/DysonNetwork.Sphere/Activity/ActivityService.cs @@ -36,7 +36,7 @@ public class ActivityService( if (cursor == null && (debugInclude.Contains("realms") || Random.Shared.NextDouble() < 0.2)) { - var realms = await ds.GetPublicRealmsAsync(null, 5, 0, true); + var realms = await ds.GetCommunityRealmAsync(null, 5, 0, true); if (realms.Count > 0) { activities.Add(new DiscoveryActivity( @@ -142,7 +142,7 @@ public class ActivityService( { if (cursor == null && (debugInclude.Contains("realms") || Random.Shared.NextDouble() < 0.2)) { - var realms = await ds.GetPublicRealmsAsync(null, 5, 0, true); + var realms = await ds.GetCommunityRealmAsync(null, 5, 0, true); if (realms.Count > 0) { activities.Add(new DiscoveryActivity( diff --git a/DysonNetwork.Sphere/Discovery/DiscoveryController.cs b/DysonNetwork.Sphere/Discovery/DiscoveryController.cs index acb88b8..fe07add 100644 --- a/DysonNetwork.Sphere/Discovery/DiscoveryController.cs +++ b/DysonNetwork.Sphere/Discovery/DiscoveryController.cs @@ -13,6 +13,6 @@ public class DiscoveryController(DiscoveryService discoveryService) : Controller [FromQuery] int offset = 0 ) { - return discoveryService.GetPublicRealmsAsync(query, take, offset); + return discoveryService.GetCommunityRealmAsync(query, take, offset); } } diff --git a/DysonNetwork.Sphere/Discovery/DiscoveryService.cs b/DysonNetwork.Sphere/Discovery/DiscoveryService.cs index 2286d76..3e563a3 100644 --- a/DysonNetwork.Sphere/Discovery/DiscoveryService.cs +++ b/DysonNetwork.Sphere/Discovery/DiscoveryService.cs @@ -4,7 +4,7 @@ namespace DysonNetwork.Sphere.Discovery; public class DiscoveryService(AppDatabase appDatabase) { - public Task> GetPublicRealmsAsync( + public Task> GetCommunityRealmAsync( string? query, int take = 10, int offset = 0, @@ -12,19 +12,18 @@ public class DiscoveryService(AppDatabase appDatabase) ) { var realmsQuery = appDatabase.Realms - .Take(take) - .Skip(offset) - .Where(r => r.IsCommunity); + .Where(r => r.IsCommunity) + .OrderByDescending(r => r.CreatedAt) + .AsQueryable(); if (!string.IsNullOrEmpty(query)) realmsQuery = realmsQuery.Where(r => EF.Functions.ILike(r.Name, $"%{query}%") || EF.Functions.ILike(r.Description, $"%{query}%") ); - if (randomizer) - realmsQuery = realmsQuery.OrderBy(r => EF.Functions.Random()); - else - realmsQuery = realmsQuery.OrderByDescending(r => r.CreatedAt); + realmsQuery = randomizer + ? realmsQuery.OrderBy(r => EF.Functions.Random()) + : realmsQuery.OrderByDescending(r => r.CreatedAt); return realmsQuery.Skip(offset).Take(take).ToListAsync(); }