import { CollectionService } from "../collection-service/collection-service";
import { parseKeepManifestText, stringifyKeepManifest } from "./collection-manifest-parser";
import { mapManifestToCollectionFilesTree } from "./collection-manifest-mapper";
-import { CollectionFile } from "../../models/collection-file";
export class CollectionFilesService {
async renameFile(collectionUuid: string, file: { name: string, path: string }, newName: string) {
const collection = await this.collectionService.get(collectionUuid);
const manifest = parseKeepManifestText(collection.manifestText);
- const updatedManifest = manifest.map(stream =>
- stream.name === file.path
+ const updatedManifest = manifest.map(
+ stream => stream.name === file.path
? {
...stream,
- files: stream.files.map(f =>
- f.name === file.name
+ files: stream.files.map(
+ f => f.name === file.name
? { ...f, name: newName }
- : f)
+ : f
+ )
}
: stream
);
const manifestText = stringifyKeepManifest(updatedManifest);
- return this.collectionService.update(collectionUuid, { ...collection, manifestText });
+ return this.collectionService.update(collectionUuid, { manifestText });
}
async deleteFile(collectionUuid: string, file: { name: string, path: string }) {
const manifestText = stringifyKeepManifest(updatedManifest);
return this.collectionService.update(collectionUuid, { manifestText });
}
-
-}
\ No newline at end of file
+}