import Canvas from '../src/Canvas.js'; import Image from '../src/Image.js'; import Common from '../src/common.js'; /** * Generate a canvas object to serve * @param {string} manifestId The corresponding manifest's id * @param {number|string} name The canvas name */ export default async function generateCanvas(manifestId, name) { const IIIF_API_VERSION = process.env.IIIF_API_VERSION; const BASE_URL = process.env.BASE_URL; const canvas = new Canvas(IIIF_API_VERSION, BASE_URL); canvas.generateID(manifestId, name); canvas.label = `${manifestId}-${name.toLowerCase()}`; const image = new Image(canvas.id); image.generateID(process.env.IMAGE_SERVER_URL, await Common.getImageName(canvas)); const imgSize = await Common.getImageSize(image.id); image.setSize(imgSize.height, imgSize.width); canvas.setThumbnail( imgSize.thumb.height, imgSize.thumb.width, image.id ); canvas.addImage(image); return canvas.toObject(); }