Add non-players button to log viewer (#14097)

* add include non-players button to log viewer

* breakout player filter check

* fix sending player logs with no players selected

* fix default not returning player logs, causing test issue
This commit is contained in:
Chief-Engineer
2023-02-28 10:09:35 -06:00
committed by GitHub
parent fbb23bd540
commit 8f402ee8ca
9 changed files with 84 additions and 14 deletions

View File

@@ -740,14 +740,25 @@ namespace Content.Server.Database
query = query.Where(log => log.Date > filter.After);
}
if (filter.AnyPlayers != null)
if (filter.IncludePlayers)
{
query = query.Where(log => log.Players.Any(p => filter.AnyPlayers.Contains(p.PlayerUserId)));
}
if (filter.AnyPlayers != null)
{
query = query.Where(log =>
log.Players.Any(p => filter.AnyPlayers.Contains(p.PlayerUserId)) ||
log.Players.Count == 0 && filter.IncludeNonPlayers);
}
if (filter.AllPlayers != null)
if (filter.AllPlayers != null)
{
query = query.Where(log =>
log.Players.All(p => filter.AllPlayers.Contains(p.PlayerUserId)) ||
log.Players.Count == 0 && filter.IncludeNonPlayers);
}
}
else
{
query = query.Where(log => log.Players.All(p => filter.AllPlayers.Contains(p.PlayerUserId)));
query = query.Where(log => log.Players.Count == 0);
}
if (filter.LastLogId != null)