fix(s3 paths): pathing differences now correctly handled in a reducePath method.
This commit is contained in:
@@ -1,4 +1,6 @@
|
||||
import * as plugins from './plugins.js';
|
||||
import * as helpers from './helpers.js';
|
||||
import * as interfaces from './interfaces.js';
|
||||
import { Directory } from './classes.directory.js';
|
||||
import { MetaData } from './classes.metadata.js';
|
||||
|
||||
@@ -144,6 +146,29 @@ export class File {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* moves the file to another directory
|
||||
*/
|
||||
public async move(pathDescriptorArg: interfaces.IPathDecriptor) {
|
||||
let moveToPath = '';
|
||||
const isDirectory = await this.parentDirectoryRef.bucketRef.isDirectory(pathDescriptorArg);
|
||||
if (isDirectory) {
|
||||
moveToPath = await helpers.reducePathDescriptorToPath({
|
||||
...pathDescriptorArg,
|
||||
path: plugins.path.join(pathDescriptorArg.path, this.name),
|
||||
});
|
||||
}
|
||||
// lets move the file
|
||||
await this.parentDirectoryRef.bucketRef.fastMove({
|
||||
sourcePath: this.getBasePath(),
|
||||
destinationPath: moveToPath,
|
||||
});
|
||||
|
||||
// lets move the metadatafile
|
||||
const metadata = await this.getMetaData();
|
||||
await metadata.metadataFile.move(pathDescriptorArg);
|
||||
}
|
||||
|
||||
/**
|
||||
* allows updating the metadata of a file
|
||||
* @param updatedMetadata
|
||||
|
Reference in New Issue
Block a user