Properly remove profile images
This commit is contained in:
parent
a194895e7a
commit
7fba0b778e
|
@ -22,7 +22,6 @@ using MediaBrowser.Model.Cryptography;
|
|||
using MediaBrowser.Model.Dto;
|
||||
using MediaBrowser.Model.Events;
|
||||
using MediaBrowser.Model.Users;
|
||||
using Microsoft.EntityFrameworkCore.Internal;
|
||||
using Microsoft.Extensions.Logging;
|
||||
|
||||
namespace Jellyfin.Server.Implementations.Users
|
||||
|
@ -668,6 +667,16 @@ namespace Jellyfin.Server.Implementations.Users
|
|||
dbContext.SaveChanges();
|
||||
}
|
||||
|
||||
public void ClearProfileImage(User user)
|
||||
{
|
||||
#nullable disable
|
||||
// TODO: Remove these when User has nullable annotations
|
||||
|
||||
// Can't just set the value to null, as it hasn't been loaded yet, so EF Core wouldn't see the change
|
||||
_dbProvider.CreateContext().Entry(user).Reference(u => u.ProfileImage).CurrentValue = null;
|
||||
#nullable enable
|
||||
}
|
||||
|
||||
private static bool IsValidUsername(string name)
|
||||
{
|
||||
// This is some regex that matches only on unicode "word" characters, as well as -, _ and @
|
||||
|
|
|
@ -489,7 +489,7 @@ namespace MediaBrowser.Api.Images
|
|||
Logger.LogError(e, "Error deleting user profile image:");
|
||||
}
|
||||
|
||||
user.ProfileImage = null;
|
||||
_userManager.ClearProfileImage(user);
|
||||
_userManager.UpdateUser(user);
|
||||
}
|
||||
|
||||
|
|
|
@ -175,7 +175,7 @@ namespace MediaBrowser.Controller.Library
|
|||
/// <summary>
|
||||
/// This method updates the user's configuration.
|
||||
/// This is only included as a stopgap until the new API, using this internally is not recommended.
|
||||
/// Instead, modify the user object directlu, then call <see cref="UpdateUser"/>.
|
||||
/// Instead, modify the user object directly, then call <see cref="UpdateUser"/>.
|
||||
/// </summary>
|
||||
/// <param name="userId">The user's Id.</param>
|
||||
/// <param name="config">The request containing the new user configuration.</param>
|
||||
|
@ -184,10 +184,16 @@ namespace MediaBrowser.Controller.Library
|
|||
/// <summary>
|
||||
/// This method updates the user's policy.
|
||||
/// This is only included as a stopgap until the new API, using this internally is not recommended.
|
||||
/// Instead, modify the user object directlu, then call <see cref="UpdateUser"/>.
|
||||
/// Instead, modify the user object directly, then call <see cref="UpdateUser"/>.
|
||||
/// </summary>
|
||||
/// <param name="userId">The user's Id.</param>
|
||||
/// <param name="policy">The request containing the new user policy.</param>
|
||||
void UpdatePolicy(Guid userId, UserPolicy policy);
|
||||
|
||||
/// <summary>
|
||||
/// Clears the user's profile image.
|
||||
/// </summary>
|
||||
/// <param name="user">The user.</param>
|
||||
void ClearProfileImage(User user);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user