public async Task <Unit> Handle(DeleteCatalogItem request, CancellationToken cancellationToken)
        {
            var catalogItem = await _catalogItemRepository.GetByIdAsync(request.Id);

            if (catalogItem == null)
            {
                throw new ItemNotFoundException($"Catalog item with {request.Id} was not found");
            }

            try
            {
                await _catalogItemRepository.DeleteAsync(catalogItem);

                return(Unit.Value);
            }
            catch (Exception)
            {
                throw new GeneralException($"Failed to delete an item with id {request.Id}");
            }
        }