'use strict'; import Manifest from '../src/Manifest.js'; import Common from '../src/common.js'; /** * Generate a manifest object to serve * @param {string} manifestId */ export default async function generateManifest(manifestId) { const IIIF_API_VERSION = process.env.IIIF_API_VERSION; const BASE_URL = process.env.BASE_URL; let manifest = new Manifest(IIIF_API_VERSION, BASE_URL); manifest.generateID(manifestId); manifest.generateLabel(); const images = await Common.getImageList(manifestId); manifest = await Common.populateCanvases( manifest, images, manifestId ); manifest.setMetadata( Common.createMetadata( manifest, images[0], ) ); return manifest.toObject(); }