using LiteCqrs; using TeleWave.Application.Common.Interfaces; using TeleWave.Application.Common.Models; namespace TeleWave.Application.Admin.Users.BlockUser; public sealed class BlockUserCommandHandler( IIdentityService identityService, ICurrentUser currentUser ) : ICommandHandler { public Task Handle(BlockUserCommand command, CancellationToken cancellationToken) { if (currentUser.UserId == command.UserId) return Task.FromResult(Result.Failure(UserErrors.CannotBlockSelf)); return identityService.BlockUserAsync(command.UserId, cancellationToken); } }