From 24e39c59cbeb668cf3783260bfd303789e891abf Mon Sep 17 00:00:00 2001 From: jvyden Date: Sun, 14 Nov 2021 21:32:09 -0500 Subject: [PATCH] Dont show levels from higher game versions in hearted/queued lists --- ProjectLighthouse.sln.DotSettings | 9 ++++---- .../Controllers/ListController.cs | 22 ++++++++++++++----- 2 files changed, 21 insertions(+), 10 deletions(-) diff --git a/ProjectLighthouse.sln.DotSettings b/ProjectLighthouse.sln.DotSettings index c935d98b..43d1f777 100644 --- a/ProjectLighthouse.sln.DotSettings +++ b/ProjectLighthouse.sln.DotSettings @@ -30,6 +30,7 @@ False False False + False False False False @@ -53,14 +54,14 @@ True NEXT_LINE True - True - CHOP_IF_LONG + False + CHOP_ALWAYS CHOP_IF_LONG True True True - True - True + False + False True CHOP_IF_LONG CHOP_IF_LONG diff --git a/ProjectLighthouse/Controllers/ListController.cs b/ProjectLighthouse/Controllers/ListController.cs index 7ac6bf03..01582004 100644 --- a/ProjectLighthouse/Controllers/ListController.cs +++ b/ProjectLighthouse/Controllers/ListController.cs @@ -26,13 +26,18 @@ namespace LBPUnion.ProjectLighthouse.Controllers #region Level Queue (lolcatftw) [HttpGet("slots/lolcatftw/{username}")] - public IActionResult GetLevelQueue(string username) + public async Task GetLevelQueue(string username) { - IEnumerable queuedLevels = new Database().QueuedLevels.Include - (q => q.User) + Token? token = await this.database.TokenFromRequest(this.Request); + if (token == null) return this.BadRequest(); + + GameVersion gameVersion = token.GameVersion; + + IEnumerable queuedLevels = new Database().QueuedLevels.Include(q => q.User) .Include(q => q.Slot) .Include(q => q.Slot.Location) .Include(q => q.Slot.Creator) + .Where(q => q.Slot.GameVersion <= gameVersion) .Where(q => q.User.Username == username) .AsEnumerable(); @@ -83,13 +88,18 @@ namespace LBPUnion.ProjectLighthouse.Controllers #region Hearted Levels [HttpGet("favouriteSlots/{username}")] - public IActionResult GetFavouriteSlots(string username) + public async Task GetFavouriteSlots(string username) { - IEnumerable heartedLevels = new Database().HeartedLevels.Include - (q => q.User) + Token? token = await this.database.TokenFromRequest(this.Request); + if (token == null) return this.BadRequest(); + + GameVersion gameVersion = token.GameVersion; + + IEnumerable heartedLevels = new Database().HeartedLevels.Include(q => q.User) .Include(q => q.Slot) .Include(q => q.Slot.Location) .Include(q => q.Slot.Creator) + .Where(q => q.Slot.GameVersion <= gameVersion) .Where(q => q.User.Username == username) .AsEnumerable();