public async Task <int> Handle(CreateFolderCommand request, CancellationToken cancellationToken)
        {
            if (request.ParentId.HasValue && !await foldersRepository.Exists(request.ParentId.Value))
            {
                throw new ParentFolderDoesNotExistRequestException();
            }
            if (!await foldersRepository.IsUniqueInParent(request.Name, request.ParentId))
            {
                throw new FolderNameMustBeUniqueInParentRequestException();
            }

            var folder   = new Folder(request.Name, request.ParentId);
            var folderId = await foldersRepository.AddAsync(folder);

            return(folderId);
        }