public async Task <DeleteFilesResult> Handle(DeleteFilesCommand request, CancellationToken cancellationToken)
        {
            DeleteFilesResult result = new DeleteFilesResult();

            var response = await _fileMngClient.GetFilesToDeleteAsync(new gGetFilesToDeleteRequest(), cancellationToken : cancellationToken);

            if (response == null)
            {
                result.ErrorContent = new ErrorContent("Unknown error occured while waiting for files list", ErrorOrigin.Server);
                return(result);
            }
            if (response.Status.Status != Protos.RequestStatus.Success)
            {
                result.ErrorContent = new ErrorContent(response.Status.Message, ErrorOrigin.Server);
                return(result);
            }
            if (!response.FilesItem.Any())
            {
                // No files to delete for now
                return(result);
            }

            // Delete files from disk
            foreach (var file in response.FilesItem)
            {
                string folderPath = Path.Combine(_uploadOpt.UploadPath, file.UserId, file.Id);

                if (Directory.Exists(folderPath))
                {
                    Directory.Delete(folderPath, true);
                }
            }

            // Request to delete files from db
            gDeleteFilesRequest delRequest = new gDeleteFilesRequest();

            delRequest.FilesId.Add(response.FilesItem.Select(s => s.Id));
            var deleteResponse = await _fileMngClient.DeleteFilesFromDbAsync(delRequest, cancellationToken : cancellationToken);

            if (deleteResponse == null)
            {
                result.ErrorContent = new ErrorContent("Error occured while removing files from db", ErrorOrigin.Server);
                return(result);
            }
            if (deleteResponse.Status.Status != Protos.RequestStatus.Success)
            {
                result.ErrorContent = new ErrorContent(deleteResponse.Status.Message, ErrorOrigin.Server);
                return(result);
            }

            result.Files = response.FilesItem;
            return(result);
        }