mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-03-26 03:57:12 +00:00
Optimize Guid comparisons
* Use Guid.Equals(Guid) instead of the == override * Ban the usage of Guid.Equals(Object) to prevent accidental boxing * Compare to default(Guid) instead of Guid.Empty
This commit is contained in:
@@ -56,7 +56,7 @@ namespace Jellyfin.Server.Implementations.Activity
|
||||
|
||||
if (query.HasUserId.HasValue)
|
||||
{
|
||||
entries = entries.Where(entry => entry.UserId != Guid.Empty == query.HasUserId.Value );
|
||||
entries = entries.Where(entry => (!entry.UserId.Equals(default)) == query.HasUserId.Value);
|
||||
}
|
||||
|
||||
return new QueryResult<ActivityLogEntry>(
|
||||
|
||||
@@ -120,7 +120,7 @@ namespace Jellyfin.Server.Implementations.Devices
|
||||
|
||||
if (query.UserId.HasValue)
|
||||
{
|
||||
devices = devices.Where(device => device.UserId == query.UserId.Value);
|
||||
devices = devices.Where(device => device.UserId.Equals(query.UserId.Value));
|
||||
}
|
||||
|
||||
if (query.DeviceId != null)
|
||||
|
||||
@@ -32,7 +32,7 @@ namespace Jellyfin.Server.Implementations.Users
|
||||
var prefs = _dbContext.DisplayPreferences
|
||||
.Include(pref => pref.HomeSections)
|
||||
.FirstOrDefault(pref =>
|
||||
pref.UserId == userId && string.Equals(pref.Client, client) && pref.ItemId == itemId);
|
||||
pref.UserId.Equals(userId) && string.Equals(pref.Client, client) && pref.ItemId.Equals(itemId));
|
||||
|
||||
if (prefs == null)
|
||||
{
|
||||
@@ -47,7 +47,7 @@ namespace Jellyfin.Server.Implementations.Users
|
||||
public ItemDisplayPreferences GetItemDisplayPreferences(Guid userId, Guid itemId, string client)
|
||||
{
|
||||
var prefs = _dbContext.ItemDisplayPreferences
|
||||
.FirstOrDefault(pref => pref.UserId == userId && pref.ItemId == itemId && string.Equals(pref.Client, client));
|
||||
.FirstOrDefault(pref => pref.UserId.Equals(userId) && pref.ItemId.Equals(itemId) && string.Equals(pref.Client, client));
|
||||
|
||||
if (prefs == null)
|
||||
{
|
||||
@@ -63,7 +63,7 @@ namespace Jellyfin.Server.Implementations.Users
|
||||
{
|
||||
return _dbContext.ItemDisplayPreferences
|
||||
.AsQueryable()
|
||||
.Where(prefs => prefs.UserId == userId && prefs.ItemId != Guid.Empty && string.Equals(prefs.Client, client))
|
||||
.Where(prefs => prefs.UserId.Equals(userId) && !prefs.ItemId.Equals(default) && string.Equals(prefs.Client, client))
|
||||
.ToList();
|
||||
}
|
||||
|
||||
@@ -72,8 +72,8 @@ namespace Jellyfin.Server.Implementations.Users
|
||||
{
|
||||
return _dbContext.CustomItemDisplayPreferences
|
||||
.AsQueryable()
|
||||
.Where(prefs => prefs.UserId == userId
|
||||
&& prefs.ItemId == itemId
|
||||
.Where(prefs => prefs.UserId.Equals(userId)
|
||||
&& prefs.ItemId.Equals(itemId)
|
||||
&& string.Equals(prefs.Client, client))
|
||||
.ToDictionary(prefs => prefs.Key, prefs => prefs.Value);
|
||||
}
|
||||
@@ -83,8 +83,8 @@ namespace Jellyfin.Server.Implementations.Users
|
||||
{
|
||||
var existingPrefs = _dbContext.CustomItemDisplayPreferences
|
||||
.AsQueryable()
|
||||
.Where(prefs => prefs.UserId == userId
|
||||
&& prefs.ItemId == itemId
|
||||
.Where(prefs => prefs.UserId.Equals(userId)
|
||||
&& prefs.ItemId.Equals(itemId)
|
||||
&& string.Equals(prefs.Client, client));
|
||||
_dbContext.CustomItemDisplayPreferences.RemoveRange(existingPrefs);
|
||||
|
||||
|
||||
@@ -107,7 +107,7 @@ namespace Jellyfin.Server.Implementations.Users
|
||||
/// <inheritdoc/>
|
||||
public User? GetUserById(Guid id)
|
||||
{
|
||||
if (id == Guid.Empty)
|
||||
if (id.Equals(default))
|
||||
{
|
||||
throw new ArgumentException("Guid can't be empty", nameof(id));
|
||||
}
|
||||
@@ -146,8 +146,7 @@ namespace Jellyfin.Server.Implementations.Users
|
||||
|
||||
if (await dbContext.Users
|
||||
.AsQueryable()
|
||||
.Where(u => u.Username == newName && u.Id != user.Id)
|
||||
.AnyAsync()
|
||||
.AnyAsync(u => u.Username == newName && !u.Id.Equals(user.Id))
|
||||
.ConfigureAwait(false))
|
||||
{
|
||||
throw new ArgumentException(string.Format(
|
||||
@@ -597,7 +596,7 @@ namespace Jellyfin.Server.Implementations.Users
|
||||
.Include(u => u.Preferences)
|
||||
.Include(u => u.AccessSchedules)
|
||||
.Include(u => u.ProfileImage)
|
||||
.FirstOrDefault(u => u.Id == userId)
|
||||
.FirstOrDefault(u => u.Id.Equals(userId))
|
||||
?? throw new ArgumentException("No user exists with given Id!");
|
||||
|
||||
user.SubtitleMode = config.SubtitleMode;
|
||||
@@ -631,7 +630,7 @@ namespace Jellyfin.Server.Implementations.Users
|
||||
.Include(u => u.Preferences)
|
||||
.Include(u => u.AccessSchedules)
|
||||
.Include(u => u.ProfileImage)
|
||||
.FirstOrDefault(u => u.Id == userId)
|
||||
.FirstOrDefault(u => u.Id.Equals(userId))
|
||||
?? throw new ArgumentException("No user exists with given Id!");
|
||||
|
||||
// The default number of login attempts is 3, but for some god forsaken reason it's sent to the server as "0"
|
||||
|
||||
Reference in New Issue
Block a user