fix(core): update
This commit is contained in:
		| @@ -43,6 +43,10 @@ export class Directory { | ||||
|     const parentDirectories = this.getParentDirectories(); | ||||
|     let basePath = ''; | ||||
|     for (const parentDir of parentDirectories) { | ||||
|       if (parentDir.name === '') { | ||||
|         basePath = this.name; | ||||
|         continue; | ||||
|       } | ||||
|       basePath = parentDir.name + '/' + this.name; | ||||
|     } | ||||
|     return basePath; | ||||
| @@ -91,9 +95,12 @@ export class Directory { | ||||
|     const directoryArray: Directory[] = []; | ||||
|     const duplexStream = plugins.streamfunction.createDuplexStream<plugins.minio.BucketItem, void>( | ||||
|       async bucketItem => { | ||||
|         const subtractedPath = bucketItem.name.replace(this.getBasePath(), ''); | ||||
|         let subtractedPath = bucketItem.name.replace(this.getBasePath(), ''); | ||||
|         if (subtractedPath.startsWith('/')) { | ||||
|           subtractedPath = subtractedPath.substr(1); | ||||
|         } | ||||
|         if (subtractedPath.includes('/')) { | ||||
|           const dirName = bucketItem.name.split('/')[0]; | ||||
|           const dirName = subtractedPath.split('/')[0]; | ||||
|           if (directoryArray.find(directory => directory.name === dirName)) { | ||||
|             return; | ||||
|           } | ||||
| @@ -124,11 +131,20 @@ export class Directory { | ||||
|    * gets a sub directory | ||||
|    */ | ||||
|   public async getSubDirectoryByName(dirNameArg: string): Promise<Directory> { | ||||
|     // TODO: make this recursive | ||||
|     const directories = await this.listDirectories(); | ||||
|     return directories.find(directory => { | ||||
|       return directory.name === dirNameArg; | ||||
|     }); | ||||
|     const dirNameArray = dirNameArg.split('/'); | ||||
|  | ||||
|     const getDirectory = async (directoryArg: Directory, dirNameToSearch: string) => { | ||||
|       const directories = await directoryArg.listDirectories(); | ||||
|       return directories.find(directory => { | ||||
|         return directory.name === dirNameToSearch; | ||||
|       }); | ||||
|     }; | ||||
|     let wantedDirectory: Directory; | ||||
|     for (const dirNameToSearch of dirNameArray) { | ||||
|       const directoryToSearchIn = wantedDirectory ? wantedDirectory : this; | ||||
|       wantedDirectory = await getDirectory(directoryToSearchIn, dirNameToSearch); | ||||
|     } | ||||
|     return wantedDirectory; | ||||
|   } | ||||
|  | ||||
|   /** | ||||
|   | ||||
		Reference in New Issue
	
	Block a user