Compare commits
	
		
			4 Commits
		
	
	
		
			v1.0.4
			...
			825167af68
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 825167af68 | |||
| ba559e4304 | |||
| a6d67b22af | |||
| fc0001b6b3 | 
@@ -1,6 +1,6 @@
 | 
			
		||||
{
 | 
			
		||||
  "name": "@push.rocks/smartwebdav",
 | 
			
		||||
  "version": "1.0.4",
 | 
			
		||||
  "version": "1.1.1",
 | 
			
		||||
  "private": false,
 | 
			
		||||
  "description": "A TypeScript library for easy interaction with WebDAV servers, including file and directory management.",
 | 
			
		||||
  "main": "dist_ts/index.js",
 | 
			
		||||
 
 | 
			
		||||
@@ -3,6 +3,6 @@
 | 
			
		||||
 */
 | 
			
		||||
export const commitinfo = {
 | 
			
		||||
  name: '@push.rocks/smartwebdav',
 | 
			
		||||
  version: '1.0.4',
 | 
			
		||||
  version: '1.1.1',
 | 
			
		||||
  description: 'A TypeScript library for easy interaction with WebDAV servers, including file and directory management.'
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -34,6 +34,18 @@ export class WebdavClient {
 | 
			
		||||
    return result as plugins.webdav.FileStat[];
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  public async getDirectoryAsSmartfileArray(pathArg: string): Promise<plugins.smartfile.SmartFile[]> {
 | 
			
		||||
    const directoryListing = await this.listDirectory(pathArg);
 | 
			
		||||
    const smartfileArray: plugins.smartfile.SmartFile[] = [];
 | 
			
		||||
    for (const file of directoryListing) {
 | 
			
		||||
      const fileContents = (await this.wdClient.getFileContents(file.filename, {
 | 
			
		||||
        format: 'binary',
 | 
			
		||||
      })) as Buffer;
 | 
			
		||||
      smartfileArray.push(await plugins.smartfile.SmartFile.fromBuffer(file.filename, fileContents));
 | 
			
		||||
    }
 | 
			
		||||
    return smartfileArray;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  public async ensureDirectory(path: string): Promise<void> {
 | 
			
		||||
    console.log(`Ensuring directory at ${path}`);
 | 
			
		||||
    const pathLevels = plugins.smartpath.get.pathLevels(path);
 | 
			
		||||
@@ -100,7 +112,15 @@ export class WebdavClient {
 | 
			
		||||
    await this.wdClient.moveFile(sourcePathArg, targetPathArg);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  public async deleteDirectory(pathArg: string) {
 | 
			
		||||
  public async deleteFile(pathArg: string, checkNotDirectory = true) {
 | 
			
		||||
    const stat = (await this.wdClient.stat(pathArg)) as plugins.webdav.FileStat;
 | 
			
		||||
    if (checkNotDirectory && stat.type === 'directory') {
 | 
			
		||||
      throw new Error(`Cannot delete a directory using deleteFile method. Use deleteDirectory instead.`);
 | 
			
		||||
    }
 | 
			
		||||
    await this.wdClient.deleteFile(pathArg);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  public async deleteDirectory(pathArg: string) {
 | 
			
		||||
    await this.deleteFile(pathArg, false);
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user