Files
Musify/Application/Users/Handlers/DeleteUserCommandHandler.cs
T
2026-03-28 21:26:45 +01:00

22 lines
745 B
C#

using Ardalis.Result;
using DispatchR.Abstractions.Send;
using Musify.Application.Contracts.Infrastructure;
namespace Musify.Application.Users.Commands
{
public class DeleteUserCommandHandler(IDatabase database)
: IRequestHandler<DeleteUserCommand, Task<Result>>
{
public async Task<Result> Handle(DeleteUserCommand request, CancellationToken cancellationToken)
{
var existingUser = await database.Users.FindAsync(request.Id, cancellationToken);
if (existingUser is null)
return Result.NotFound();
database.Users.Remove(existingUser);
await database.SaveChangesAsync(cancellationToken);
return Result.NoContent();
}
}
}