Merge pull request #57 from hydronePVP45/patch-9

fixed total thingy in queue lsit
This commit is contained in:
jvyden 2021-11-16 14:12:00 -05:00 committed by GitHub
commit 590b303dcd
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1,4 +1,5 @@
#nullable enable #nullable enable
using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Threading.Tasks; using System.Threading.Tasks;
@ -26,7 +27,7 @@ namespace LBPUnion.ProjectLighthouse.Controllers
#region Level Queue (lolcatftw) #region Level Queue (lolcatftw)
[HttpGet("slots/lolcatftw/{username}")] [HttpGet("slots/lolcatftw/{username}")]
public async Task<IActionResult> GetLevelQueue(string username) public async Task<IActionResult> GetLevelQueue(string username, [FromQuery] int pageSize, [FromQuery] int pageStart)
{ {
Token? token = await this.database.TokenFromRequest(this.Request); Token? token = await this.database.TokenFromRequest(this.Request);
if (token == null) return this.BadRequest(); if (token == null) return this.BadRequest();
@ -39,11 +40,13 @@ namespace LBPUnion.ProjectLighthouse.Controllers
.Include(q => q.Slot.Creator) .Include(q => q.Slot.Creator)
.Where(q => q.Slot.GameVersion <= gameVersion) .Where(q => q.Slot.GameVersion <= gameVersion)
.Where(q => q.User.Username == username) .Where(q => q.User.Username == username)
.Skip(pageStart - 1)
.Take(Math.Min(pageSize, 30))
.AsEnumerable(); .AsEnumerable();
string response = queuedLevels.Aggregate(string.Empty, (current, q) => current + q.Slot.Serialize()); string response = queuedLevels.Aggregate(string.Empty, (current, q) => current + q.Slot.Serialize());
return this.Ok(LbpSerializer.TaggedStringElement("slots", response, "total", 1)); return this.Ok(LbpSerializer.TaggedStringElement("slots", response, "total", this.database.QueuedLevels.Include(q => q.User).Where(q => q.User.Username == username).Count()));
} }
[HttpPost("lolcatftw/add/user/{id:int}")] [HttpPost("lolcatftw/add/user/{id:int}")]
@ -88,7 +91,7 @@ namespace LBPUnion.ProjectLighthouse.Controllers
#region Hearted Levels #region Hearted Levels
[HttpGet("favouriteSlots/{username}")] [HttpGet("favouriteSlots/{username}")]
public async Task<IActionResult> GetFavouriteSlots(string username) public async Task<IActionResult> GetFavouriteSlots(string username, [FromQuery] int pageSize, [FromQuery] int pageStart)
{ {
Token? token = await this.database.TokenFromRequest(this.Request); Token? token = await this.database.TokenFromRequest(this.Request);
if (token == null) return this.BadRequest(); if (token == null) return this.BadRequest();
@ -101,11 +104,13 @@ namespace LBPUnion.ProjectLighthouse.Controllers
.Include(q => q.Slot.Creator) .Include(q => q.Slot.Creator)
.Where(q => q.Slot.GameVersion <= gameVersion) .Where(q => q.Slot.GameVersion <= gameVersion)
.Where(q => q.User.Username == username) .Where(q => q.User.Username == username)
.Skip(pageStart - 1)
.Take(Math.Min(pageSize, 30))
.AsEnumerable(); .AsEnumerable();
string response = heartedLevels.Aggregate(string.Empty, (current, q) => current + q.Slot.Serialize()); string response = heartedLevels.Aggregate(string.Empty, (current, q) => current + q.Slot.Serialize());
return this.Ok(LbpSerializer.TaggedStringElement("favouriteSlots", response, "total", 1)); return this.Ok(LbpSerializer.TaggedStringElement("favouriteSlots", response, "total", this.database.HeartedLevels.Include(q => q.User).Where(q => q.User.Username == username).Count()));
} }
[HttpPost("favourite/slot/user/{id:int}")] [HttpPost("favourite/slot/user/{id:int}")]
@ -152,7 +157,7 @@ namespace LBPUnion.ProjectLighthouse.Controllers
#region Users #region Users
[HttpGet("favouriteUsers/{username}")] [HttpGet("favouriteUsers/{username}")]
public async Task<IActionResult> GetFavouriteUsers(string username) public async Task<IActionResult> GetFavouriteUsers(string username, [FromQuery] int pageSize, [FromQuery] int pageStart)
{ {
Token? token = await this.database.TokenFromRequest(this.Request); Token? token = await this.database.TokenFromRequest(this.Request);
if (token == null) return this.StatusCode(403, ""); if (token == null) return this.StatusCode(403, "");
@ -162,11 +167,13 @@ namespace LBPUnion.ProjectLighthouse.Controllers
.Include(q => q.HeartedUser) .Include(q => q.HeartedUser)
.Include(q => q.HeartedUser.Location) .Include(q => q.HeartedUser.Location)
.Where(q => q.User.Username == username) .Where(q => q.User.Username == username)
.Skip(pageStart - 1)
.Take(Math.Min(pageSize, 30))
.AsEnumerable(); .AsEnumerable();
string response = heartedProfiles.Aggregate(string.Empty, (current, q) => current + q.HeartedUser.Serialize(token.GameVersion)); string response = heartedProfiles.Aggregate(string.Empty, (current, q) => current + q.HeartedUser.Serialize(token.GameVersion));
return this.Ok(LbpSerializer.TaggedStringElement("favouriteUsers", response, "total", 1)); return this.Ok(LbpSerializer.TaggedStringElement("favouriteUsers", response, "total", this.database.HeartedProfiles.Include(q => q.User).Where(q => q.User.Username == username).Count()));
} }
[HttpPost("favourite/user/{username}")] [HttpPost("favourite/user/{username}")]
@ -217,4 +224,4 @@ namespace LBPUnion.ProjectLighthouse.Controllers
#endregion #endregion
} }
} }