nextcloud-node-client
Version:
Nextcloud client API for node.js TypeScript applications
43 lines (42 loc) • 1.4 kB
TypeScript
import Client, { File, Folder, SourceTargetFileNames } from "../client";
import Command from "./command";
/**
* options to create a download folder command
*/
export interface DownloadFolderCommandOptions {
/**
* The source folder with the file structure to be downloaded
*/
sourceFolder: Folder;
/**
* function to filter files
*/
filterFile?: (file: File) => File | null;
/**
* the function to determine the target file name having the sourece file name.
* If the file should not be downloaded, return an empty string
* @param {SourceTargetFileNames} fileNames source and target file names
*/
getTargetFileNameBeforeDownload: (fileNames: SourceTargetFileNames) => string;
}
/**
* Command to download the contents of a folder from nextcloud to local file system recursively
*/
export default class DownloadFolderCommand extends Command {
private sourceFolder;
private getTargetFileNameBeforeDownload;
private bytesDownloaded;
private filterFile?;
/**
* @param {Client} client the client
* @param {DownloadFolderCommandOptions} options constructor options
*/
constructor(client: Client, options: DownloadFolderCommandOptions);
/**
* execute the command
* @async
* @returns {Promise<void>}
*/
protected onExecute(): Promise<void>;
getBytesDownloaded(): number;
}