mirror of
https://github.com/LBPUnion/ProjectLighthouse.git
synced 2025-08-01 09:48:37 +00:00
Hotfix for LBP3 user categories being borked
This commit is contained in:
parent
7813b55181
commit
131add7df5
5 changed files with 18 additions and 13 deletions
|
@ -119,8 +119,7 @@ public class SlotsController : ControllerBase
|
||||||
|
|
||||||
GameVersion gameVersion = token.GameVersion;
|
GameVersion gameVersion = token.GameVersion;
|
||||||
|
|
||||||
IQueryable<Slot> slots = this.database.Slots.ByGameVersion
|
IQueryable<Slot> slots = this.database.Slots.ByGameVersion(gameVersion, false, true)
|
||||||
(gameVersion)
|
|
||||||
.OrderByDescending(s => s.FirstUploaded)
|
.OrderByDescending(s => s.FirstUploaded)
|
||||||
.Skip(pageStart - 1)
|
.Skip(pageStart - 1)
|
||||||
.Take(Math.Min(pageSize, 30));
|
.Take(Math.Min(pageSize, 30));
|
||||||
|
@ -154,7 +153,7 @@ public class SlotsController : ControllerBase
|
||||||
|
|
||||||
GameVersion gameVersion = token.GameVersion;
|
GameVersion gameVersion = token.GameVersion;
|
||||||
|
|
||||||
IQueryable<Slot> slots = this.database.Slots.ByGameVersion(gameVersion)
|
IQueryable<Slot> slots = this.database.Slots.ByGameVersion(gameVersion, false, true)
|
||||||
.Where(s => s.TeamPick)
|
.Where(s => s.TeamPick)
|
||||||
.OrderByDescending(s => s.LastUpdated)
|
.OrderByDescending(s => s.LastUpdated)
|
||||||
.Skip(pageStart - 1)
|
.Skip(pageStart - 1)
|
||||||
|
@ -188,7 +187,7 @@ public class SlotsController : ControllerBase
|
||||||
|
|
||||||
GameVersion gameVersion = token.GameVersion;
|
GameVersion gameVersion = token.GameVersion;
|
||||||
|
|
||||||
IEnumerable<Slot> slots = this.database.Slots.ByGameVersion(gameVersion).OrderBy(_ => EF.Functions.Random()).Take(Math.Min(pageSize, 30));
|
IEnumerable<Slot> slots = this.database.Slots.ByGameVersion(gameVersion, false, true).OrderBy(_ => EF.Functions.Random()).Take(Math.Min(pageSize, 30));
|
||||||
|
|
||||||
string response = slots.Aggregate(string.Empty, (current, slot) => current + slot.Serialize(gameVersion));
|
string response = slots.Aggregate(string.Empty, (current, slot) => current + slot.Serialize(gameVersion));
|
||||||
|
|
||||||
|
@ -377,7 +376,7 @@ public class SlotsController : ControllerBase
|
||||||
{
|
{
|
||||||
if (version == GameVersion.LittleBigPlanetVita || version == GameVersion.LittleBigPlanetPSP || version == GameVersion.Unknown)
|
if (version == GameVersion.LittleBigPlanetVita || version == GameVersion.LittleBigPlanetPSP || version == GameVersion.Unknown)
|
||||||
{
|
{
|
||||||
return this.database.Slots.ByGameVersion(version);
|
return this.database.Slots.ByGameVersion(version, false, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
string _dateFilterType = dateFilterType ?? "";
|
string _dateFilterType = dateFilterType ?? "";
|
||||||
|
|
|
@ -9,12 +9,16 @@ namespace LBPUnion.ProjectLighthouse.Helpers.Extensions;
|
||||||
public static class DatabaseExtensions
|
public static class DatabaseExtensions
|
||||||
{
|
{
|
||||||
public static IQueryable<Slot> ByGameVersion
|
public static IQueryable<Slot> ByGameVersion
|
||||||
(this DbSet<Slot> set, GameVersion gameVersion, bool includeSublevels = false)
|
(this DbSet<Slot> set, GameVersion gameVersion, bool includeSublevels = false, bool includeCreatorAndLocation = false)
|
||||||
=> set.AsQueryable().ByGameVersion(gameVersion, includeSublevels);
|
=> set.AsQueryable().ByGameVersion(gameVersion, includeSublevels, includeCreatorAndLocation);
|
||||||
|
|
||||||
public static IQueryable<Slot> ByGameVersion(this IQueryable<Slot> queryable, GameVersion gameVersion, bool includeSublevels = false)
|
public static IQueryable<Slot> ByGameVersion
|
||||||
|
(this IQueryable<Slot> query, GameVersion gameVersion, bool includeSublevels = false, bool includeCreatorAndLocation = false)
|
||||||
{
|
{
|
||||||
IQueryable<Slot> query = queryable.Include(s => s.Creator).Include(s => s.Location);
|
if (includeCreatorAndLocation)
|
||||||
|
{
|
||||||
|
query = query.Include(s => s.Creator).Include(s => s.Location);
|
||||||
|
}
|
||||||
|
|
||||||
if (gameVersion == GameVersion.LittleBigPlanetVita || gameVersion == GameVersion.LittleBigPlanetPSP || gameVersion == GameVersion.Unknown)
|
if (gameVersion == GameVersion.LittleBigPlanetVita || gameVersion == GameVersion.LittleBigPlanetPSP || gameVersion == GameVersion.Unknown)
|
||||||
{
|
{
|
||||||
|
|
|
@ -17,8 +17,7 @@ public class HeartedCategory : CategoryWithUser
|
||||||
public override Slot? GetPreviewSlot(Database database, User user) => database.HeartedLevels.FirstOrDefault(h => h.UserId == user.UserId)?.Slot;
|
public override Slot? GetPreviewSlot(Database database, User user) => database.HeartedLevels.FirstOrDefault(h => h.UserId == user.UserId)?.Slot;
|
||||||
public override int GetTotalSlots(Database database, User user) => database.HeartedLevels.Count(h => h.UserId == user.UserId);
|
public override int GetTotalSlots(Database database, User user) => database.HeartedLevels.Count(h => h.UserId == user.UserId);
|
||||||
public override IEnumerable<Slot> GetSlots(Database database, User user, int pageStart, int pageSize)
|
public override IEnumerable<Slot> GetSlots(Database database, User user, int pageStart, int pageSize)
|
||||||
=> database.HeartedLevels.Where
|
=> database.HeartedLevels.Where(h => h.UserId == user.UserId)
|
||||||
(h => h.UserId == user.UserId)
|
|
||||||
.Include(h => h.Slot)
|
.Include(h => h.Slot)
|
||||||
.Select(h => h.Slot)
|
.Select(h => h.Slot)
|
||||||
.ByGameVersion(GameVersion.LittleBigPlanet3)
|
.ByGameVersion(GameVersion.LittleBigPlanet3)
|
||||||
|
|
|
@ -16,6 +16,9 @@ public class NewestLevelsCategory : Category
|
||||||
public override Slot? GetPreviewSlot(Database database) => database.Slots.OrderByDescending(s => s.FirstUploaded).FirstOrDefault();
|
public override Slot? GetPreviewSlot(Database database) => database.Slots.OrderByDescending(s => s.FirstUploaded).FirstOrDefault();
|
||||||
public override IEnumerable<Slot> GetSlots
|
public override IEnumerable<Slot> GetSlots
|
||||||
(Database database, int pageStart, int pageSize)
|
(Database database, int pageStart, int pageSize)
|
||||||
=> database.Slots.ByGameVersion(GameVersion.LittleBigPlanet3).OrderByDescending(s => s.FirstUploaded).Skip(pageStart - 1).Take(Math.Min(pageSize, 20));
|
=> database.Slots.ByGameVersion(GameVersion.LittleBigPlanet3, false, true)
|
||||||
|
.OrderByDescending(s => s.FirstUploaded)
|
||||||
|
.Skip(pageStart - 1)
|
||||||
|
.Take(Math.Min(pageSize, 20));
|
||||||
public override int GetTotalSlots(Database database) => database.Slots.Count();
|
public override int GetTotalSlots(Database database) => database.Slots.Count();
|
||||||
}
|
}
|
|
@ -17,7 +17,7 @@ public class TeamPicksCategory : Category
|
||||||
public override IEnumerable<Slot> GetSlots
|
public override IEnumerable<Slot> GetSlots
|
||||||
(Database database, int pageStart, int pageSize)
|
(Database database, int pageStart, int pageSize)
|
||||||
=> database.Slots.ByGameVersion
|
=> database.Slots.ByGameVersion
|
||||||
(GameVersion.LittleBigPlanet3)
|
(GameVersion.LittleBigPlanet3, false, true)
|
||||||
.OrderByDescending(s => s.FirstUploaded)
|
.OrderByDescending(s => s.FirstUploaded)
|
||||||
.Where(s => s.TeamPick)
|
.Where(s => s.TeamPick)
|
||||||
.Skip(pageStart - 1)
|
.Skip(pageStart - 1)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue