@agility/cli
Version:
Agility CLI for working with your content. (Public Beta)
24 lines • 1.16 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getGalleriesFromFileSystem = getGalleriesFromFileSystem;
/**
* Get galleries from filesystem without side effects
* Includes flattening of assetMediaGroupings arrays (from ChainDataLoader logic)
* Pure function - no filesystem operations, delegates to fileOperations
*/
function getGalleriesFromFileSystem(fileOps) {
var galleryFolder = fileOps.getDataFolderPath('galleries');
var galleryFiles = fileOps.getFolderContents(galleryFolder);
var galleries = [];
for (var _i = 0, galleryFiles_1 = galleryFiles; _i < galleryFiles_1.length; _i++) {
var galleryFile = galleryFiles_1[_i];
var gallery = fileOps.readJsonFile("galleries/".concat(galleryFile));
galleries.push(gallery);
}
// Deduplicate galleries by mediaGroupingID to prevent double processing
var uniqueGalleries = galleries.filter(function (gallery, index, array) {
return array.findIndex(function (g) { return g.mediaGroupingID === gallery.mediaGroupingID; }) === index;
});
return uniqueGalleries;
}
//# sourceMappingURL=get-galleries.js.map