Try to fix getting old logs (#11568)
This commit is contained in:
@@ -742,26 +742,14 @@ namespace Content.Server.Database
|
|||||||
|
|
||||||
if (filter.AnyPlayers != null)
|
if (filter.AnyPlayers != null)
|
||||||
{
|
{
|
||||||
var players = await db.AdminLogPlayer
|
query = query.Where(log => log.Players.Any(p => filter.AnyPlayers.Contains(p.PlayerUserId)));
|
||||||
.Where(player => filter.AnyPlayers.Contains(player.PlayerUserId))
|
|
||||||
.ToListAsync();
|
|
||||||
|
|
||||||
if (players.Count > 0)
|
|
||||||
{
|
|
||||||
query = from log in query
|
|
||||||
join player in db.AdminLogPlayer on log.Id equals player.LogId
|
|
||||||
where filter.AnyPlayers.Contains(player.Player.UserId)
|
|
||||||
select log;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (filter.AllPlayers != null)
|
if (filter.AllPlayers != null)
|
||||||
{
|
{
|
||||||
// TODO ADMIN LOGGING
|
query = query.Where(log => log.Players.All(p => filter.AllPlayers.Contains(p.PlayerUserId)));
|
||||||
}
|
}
|
||||||
|
|
||||||
query = query.Distinct();
|
|
||||||
|
|
||||||
if (filter.LastLogId != null)
|
if (filter.LastLogId != null)
|
||||||
{
|
{
|
||||||
query = filter.DateOrder switch
|
query = filter.DateOrder switch
|
||||||
@@ -781,9 +769,14 @@ namespace Content.Server.Database
|
|||||||
$"Unknown {nameof(DateOrder)} value {filter.DateOrder}")
|
$"Unknown {nameof(DateOrder)} value {filter.DateOrder}")
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const int hardLogLimit = 500_000;
|
||||||
if (filter.Limit != null)
|
if (filter.Limit != null)
|
||||||
{
|
{
|
||||||
query = query.Take(filter.Limit.Value);
|
query = query.Take(Math.Min(filter.Limit.Value, hardLogLimit));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
query = query.Take(hardLogLimit);
|
||||||
}
|
}
|
||||||
|
|
||||||
return query;
|
return query;
|
||||||
|
|||||||
Reference in New Issue
Block a user