public async Task <Result <bool> > HandleAsync(RemoveCuisineCommand command, User currentUser, CancellationToken cancellationToken = default) { if (command == null) { throw new ArgumentNullException(nameof(command)); } if (currentUser == null) { return(FailureResult <bool> .Unauthorized()); } if (currentUser.Role < Role.SystemAdmin) { return(FailureResult <bool> .Forbidden()); } await cuisineRepository.RemoveAsync(command.CuisineId, cancellationToken); return(SuccessResult <bool> .Create(true)); }