Support sequence URLs
This commit is contained in:
parent
9c34e106c1
commit
75ce4bb012
26
controllers/sequence.mjs
Normal file
26
controllers/sequence.mjs
Normal file
@ -0,0 +1,26 @@
|
||||
'use strict';
|
||||
|
||||
import Manifest from '../src/Manifest.js';
|
||||
import Common from '../src/common.js';
|
||||
|
||||
/**
|
||||
* Generate a sequence object to serve
|
||||
* @param {string} manifestId
|
||||
* @param {string | int} name
|
||||
*/
|
||||
export default async function generateSequence(manifestId, name) {
|
||||
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 = await Common.populateCanvases(
|
||||
manifest,
|
||||
await Common.getImageList(manifestId),
|
||||
manifestId
|
||||
);
|
||||
|
||||
return manifest.toObject().sequences[name];
|
||||
}
|
||||
|
@ -1,5 +1,6 @@
|
||||
import generateManifest from '../controllers/manifest.mjs';
|
||||
import generateCanvas from '../controllers/canvas.mjs';
|
||||
import generateSequence from '../controllers/sequence.mjs';
|
||||
import express from 'express';
|
||||
|
||||
let router = express.Router();
|
||||
@ -18,4 +19,12 @@ router.get('/iiif/:manifestid/canvas/:name', async function(req, res) {
|
||||
res.json(canvas);
|
||||
});
|
||||
|
||||
/* GET sequence JSON */
|
||||
router.get('/iiif/:manifestid/sequence/:name', async function(req, res) {
|
||||
const sequence = await generateSequence(req.params.manifestid, req.params.name)
|
||||
res.set('Access-Control-Allow-Origin', '*');
|
||||
res.json(sequence);
|
||||
});
|
||||
|
||||
|
||||
export default router;
|
||||
|
Loading…
Reference in New Issue
Block a user