Merge pull request #4766 from barronpm/usermanager-async
Convert DeleteUser to async
This commit is contained in:
commit
04ba59ab40
|
@ -133,11 +133,11 @@ namespace Jellyfin.Api.Controllers
|
||||||
[Authorize(Policy = Policies.RequiresElevation)]
|
[Authorize(Policy = Policies.RequiresElevation)]
|
||||||
[ProducesResponseType(StatusCodes.Status204NoContent)]
|
[ProducesResponseType(StatusCodes.Status204NoContent)]
|
||||||
[ProducesResponseType(StatusCodes.Status404NotFound)]
|
[ProducesResponseType(StatusCodes.Status404NotFound)]
|
||||||
public ActionResult DeleteUser([FromRoute, Required] Guid userId)
|
public async Task<ActionResult> DeleteUser([FromRoute, Required] Guid userId)
|
||||||
{
|
{
|
||||||
var user = _userManager.GetUserById(userId);
|
var user = _userManager.GetUserById(userId);
|
||||||
_sessionManager.RevokeUserTokens(user.Id, null);
|
_sessionManager.RevokeUserTokens(user.Id, null);
|
||||||
_userManager.DeleteUser(userId);
|
await _userManager.DeleteUserAsync(userId).ConfigureAwait(false);
|
||||||
return NoContent();
|
return NoContent();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -220,7 +220,7 @@ namespace Jellyfin.Server.Implementations.Users
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <inheritdoc/>
|
/// <inheritdoc/>
|
||||||
public void DeleteUser(Guid userId)
|
public async Task DeleteUserAsync(Guid userId)
|
||||||
{
|
{
|
||||||
if (!_users.TryGetValue(userId, out var user))
|
if (!_users.TryGetValue(userId, out var user))
|
||||||
{
|
{
|
||||||
|
@ -246,7 +246,7 @@ namespace Jellyfin.Server.Implementations.Users
|
||||||
nameof(userId));
|
nameof(userId));
|
||||||
}
|
}
|
||||||
|
|
||||||
using var dbContext = _dbProvider.CreateContext();
|
await using var dbContext = _dbProvider.CreateContext();
|
||||||
|
|
||||||
// Clear all entities related to the user from the database.
|
// Clear all entities related to the user from the database.
|
||||||
if (user.ProfileImage != null)
|
if (user.ProfileImage != null)
|
||||||
|
@ -258,10 +258,10 @@ namespace Jellyfin.Server.Implementations.Users
|
||||||
dbContext.RemoveRange(user.Preferences);
|
dbContext.RemoveRange(user.Preferences);
|
||||||
dbContext.RemoveRange(user.AccessSchedules);
|
dbContext.RemoveRange(user.AccessSchedules);
|
||||||
dbContext.Users.Remove(user);
|
dbContext.Users.Remove(user);
|
||||||
dbContext.SaveChanges();
|
await dbContext.SaveChangesAsync().ConfigureAwait(false);
|
||||||
_users.Remove(userId);
|
_users.Remove(userId);
|
||||||
|
|
||||||
_eventManager.Publish(new UserDeletedEventArgs(user));
|
await _eventManager.PublishAsync(new UserDeletedEventArgs(user)).ConfigureAwait(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <inheritdoc/>
|
/// <inheritdoc/>
|
||||||
|
|
|
@ -93,7 +93,8 @@ namespace MediaBrowser.Controller.Library
|
||||||
/// Deletes the specified user.
|
/// Deletes the specified user.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="userId">The id of the user to be deleted.</param>
|
/// <param name="userId">The id of the user to be deleted.</param>
|
||||||
void DeleteUser(Guid userId);
|
/// <returns>A task representing the deletion of the user.</returns>
|
||||||
|
Task DeleteUserAsync(Guid userId);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Resets the password.
|
/// Resets the password.
|
||||||
|
|
Loading…
Reference in New Issue
Block a user