private async Task <QueryResult <FileMetadata> > GetFileByPath(string path, OneDriveCredentials oneDriveCredentials, CancellationToken cancellationToken) { var viewChangeResult = await _oneDriveApi.ViewChangeByPath(path, oneDriveCredentials, cancellationToken); var viewChanges = viewChangeResult.value.Select(CreateFileMetadata).ToArray(); return(new QueryResult <FileMetadata> { Items = viewChanges, TotalRecordCount = viewChanges.Length }); }
private async Task <QueryResult <FileMetadata> > GetFileById(string id, OneDriveCredentials oneDriveCredentials, CancellationToken cancellationToken) { _logger.Debug("Getting file with id {0}", id); var viewChangeResult = await _oneDriveApi.ViewChangeById(id, oneDriveCredentials, cancellationToken); var viewChanges = viewChangeResult.value.Select(CreateFileMetadata).ToArray(); return(new QueryResult <FileMetadata> { Items = viewChanges, TotalRecordCount = viewChanges.Length }); }
private async Task <string> UploadFile(string url, Stream stream, OneDriveCredentials oneDriveCredentials, CancellationToken cancellationToken) { while (true) { var startIndex = stream.Position; var buffer = await FillBuffer(stream, cancellationToken); var endIndex = startIndex + buffer.Length - 1; var uploadSession = await _oneDriveApi.UploadFragment(url, startIndex, endIndex, stream.Length, buffer, oneDriveCredentials, cancellationToken); if (!string.IsNullOrEmpty(uploadSession.id)) { return(uploadSession.id); } } }
private async Task CreateFolderHierarchy(string[] pathParts, OneDriveCredentials credentials, CancellationToken cancellationToken) { for (int i = 0; i < pathParts.Length - 1; i++) { try { var folder = GetFullPath(pathParts.Take(i)); var name = pathParts[i]; _logger.Debug("Creating folder {0}/{1}", folder, name); await _oneDriveApi.CreateFolder(folder, name, credentials, cancellationToken); } catch { _logger.Debug("Folder already exists."); } } }
private async Task <QueryResult <FileMetadata> > GetAllFiles(OneDriveCredentials oneDriveCredentials, CancellationToken cancellationToken) { var viewChangeResult = new ViewChangesResult { HasMoreChanges = true }; var files = new List <FileMetadata>(); while (viewChangeResult.HasMoreChanges) { viewChangeResult = await _oneDriveApi.ViewChanges(viewChangeResult.Token, oneDriveCredentials, cancellationToken); var newFiles = viewChangeResult.value.Select(CreateFileMetadata); files.AddRange(newFiles); } return(new QueryResult <FileMetadata> { Items = files.ToArray(), TotalRecordCount = files.Count }); }
private async Task<QueryResult<FileMetadata>> GetAllFiles(OneDriveCredentials oneDriveCredentials, CancellationToken cancellationToken) { var viewChangeResult = new ViewChangesResult { HasMoreChanges = true }; var files = new List<FileMetadata>(); while (viewChangeResult.HasMoreChanges) { viewChangeResult = await _oneDriveApi.ViewChanges(viewChangeResult.Token, oneDriveCredentials, cancellationToken); var newFiles = viewChangeResult.value.Select(CreateFileMetadata); files.AddRange(newFiles); } return new QueryResult<FileMetadata> { Items = files.ToArray(), TotalRecordCount = files.Count }; }
private async Task<QueryResult<FileMetadata>> GetFileByPath(string path, OneDriveCredentials oneDriveCredentials, CancellationToken cancellationToken) { var viewChangeResult = await _oneDriveApi.ViewChangeByPath(path, oneDriveCredentials, cancellationToken); var viewChanges = viewChangeResult.value.Select(CreateFileMetadata).ToArray(); return new QueryResult<FileMetadata> { Items = viewChanges, TotalRecordCount = viewChanges.Length }; }
private async Task<string> UploadFile(string url, Stream stream, OneDriveCredentials oneDriveCredentials, CancellationToken cancellationToken) { while (true) { var startIndex = stream.Position; var buffer = await FillBuffer(stream, cancellationToken); var endIndex = startIndex + buffer.Length - 1; var uploadSession = await _oneDriveApi.UploadFragment(url, startIndex, endIndex, stream.Length, buffer, oneDriveCredentials, cancellationToken); if (!string.IsNullOrEmpty(uploadSession.id)) { return uploadSession.id; } } }