// SPDX-License-Identifier: AGPL-3.0
import { CollectionService } from "../collection-service/collection-service";
+import { parseKeepManifestText } from "./collection-manifest-parser";
+import { mapManifestToCollectionFilesTree } from "./collection-manifest-mapper";
export class CollectionFilesService {
- constructor(private collectionService: CollectionService){}
+
+ constructor(private collectionService: CollectionService) { }
+
+ getFiles(collectionUuid: string) {
+ return this.collectionService
+ .get(collectionUuid)
+ .then(collection =>
+ mapManifestToCollectionFilesTree(
+ parseKeepManifestText(
+ collection.manifestText
+ )
+ )
+ );
+ }
+
}
\ No newline at end of file
import { LinkService } from "./link-service/link-service";
import { FavoriteService } from "./favorite-service/favorite-service";
import { CollectionService } from "./collection-service/collection-service";
+import { CollectionFilesService } from "./collection-files-service/collection-files-service";
export const authService = new AuthService(authClient, apiClient);
export const groupsService = new GroupsService(apiClient);
export const projectService = new ProjectService(apiClient);
export const collectionService = new CollectionService(apiClient);
+export const collectionFilesService = new CollectionFilesService(collectionService);
export const linkService = new LinkService(apiClient);
export const favoriteService = new FavoriteService(linkService, groupsService);
\ No newline at end of file
import { Dispatch } from "redux";
import { ResourceKind } from "../../models/resource";
import { CollectionResource } from "../../models/collection";
-import { collectionService } from "../../services/services";
+import { collectionService, collectionFilesService } from "../../services/services";
import { collectionPanelFilesAction } from "./collection-panel-files/collection-panel-files-actions";
import { createTree } from "../../models/tree";
import { mapManifestToCollectionFilesTree } from "../../services/collection-files-service/collection-manifest-mapper";
.get(uuid)
.then(item => {
dispatch(collectionPanelActions.LOAD_COLLECTION_SUCCESS({ item }));
- const files = mapManifestToCollectionFilesTree(parseKeepManifestText(item.manifestText));
+ return collectionFilesService.getFiles(item.uuid);
+ })
+ .then(files => {
dispatch(collectionPanelFilesAction.SET_COLLECTION_FILES({ files }));
});
};