mirror of
https://github.com/LBPUnion/ProjectLighthouse.git
synced 2025-05-16 14:42:28 +00:00
Feature/user blocking hotfix 1 (#668)
* Changed CommentController to use an AsyncEnumerable to attempt to fix the current issue * Made comments & reviews from blocked users on levels not appear
This commit is contained in:
parent
3fcfaaf5cc
commit
96c34c83a7
2 changed files with 19 additions and 9 deletions
|
@ -71,16 +71,17 @@ public class CommentController : ControllerBase
|
|||
|
||||
if (targetId == 0) return this.NotFound();
|
||||
|
||||
List<int> blockedUsers = await (
|
||||
from blockedProfile in this.database.BlockedProfiles
|
||||
where blockedProfile.UserId == token.UserId
|
||||
select blockedProfile.BlockedUserId
|
||||
).ToListAsync();
|
||||
|
||||
List<int> blockedUsers = await (
|
||||
from blockedProfile in this.database.BlockedProfiles
|
||||
where blockedProfile.UserId == token.UserId
|
||||
select blockedProfile.BlockedUserId).ToListAsync();
|
||||
|
||||
List<Comment> comments = await this.database.Comments.Include(c => c.Poster)
|
||||
.Where(c => c.TargetId == targetId && c.Type == type && !c.Poster.IsBanned)
|
||||
.Where(c => !blockedUsers.Contains(c.PosterUserId))
|
||||
.OrderByDescending(c => c.Timestamp)
|
||||
.OrderByDescending(p => p.Timestamp)
|
||||
.Where(p => p.TargetId == targetId && p.Type == type)
|
||||
.ToAsyncEnumerable()
|
||||
.Where(p => !p.Poster.IsBanned)
|
||||
.Where(p => !blockedUsers.Contains(p.PosterUserId))
|
||||
.Skip(Math.Max(0, pageStart - 1))
|
||||
.Take(Math.Min(pageSize, 30))
|
||||
.ToListAsync();
|
||||
|
|
|
@ -60,12 +60,20 @@ public class SlotPage : BaseLayout
|
|||
|
||||
this.Slot = slot;
|
||||
|
||||
List<int> blockedUsers = this.User == null
|
||||
? new List<int>()
|
||||
: await (
|
||||
from blockedProfile in this.Database.BlockedProfiles
|
||||
where blockedProfile.UserId == this.User.UserId
|
||||
select blockedProfile.BlockedUserId).ToListAsync();
|
||||
|
||||
this.CommentsEnabled = ServerConfiguration.Instance.UserGeneratedContentLimits.LevelCommentsEnabled && this.Slot.CommentsEnabled;
|
||||
if (this.CommentsEnabled)
|
||||
{
|
||||
this.Comments = await this.Database.Comments.Include(p => p.Poster)
|
||||
.OrderByDescending(p => p.Timestamp)
|
||||
.Where(c => c.TargetId == id && c.Type == CommentType.Level)
|
||||
.Where(c => !blockedUsers.Contains(c.PosterUserId))
|
||||
.Take(50)
|
||||
.ToListAsync();
|
||||
}
|
||||
|
@ -80,6 +88,7 @@ public class SlotPage : BaseLayout
|
|||
.OrderByDescending(r => r.ThumbsUp - r.ThumbsDown)
|
||||
.ThenByDescending(r => r.Timestamp)
|
||||
.Where(r => r.SlotId == id)
|
||||
.Where(r => !blockedUsers.Contains(r.ReviewerId))
|
||||
.Take(50)
|
||||
.ToListAsync();
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue