Expose manifest params JSON
This commit is contained in:
parent
4ffc5277c0
commit
6895e69618
10
controllers/params.mjs
Normal file
10
controllers/params.mjs
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
'use strict';
|
||||||
|
|
||||||
|
import Common from '../src/common.js';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Show all possible parameters for manifest URLs
|
||||||
|
*/
|
||||||
|
export default async function exposeParams() {
|
||||||
|
return await Common.getParamsFromFolders();
|
||||||
|
}
|
@ -1,6 +1,7 @@
|
|||||||
import generateManifest from '../controllers/manifest.mjs';
|
import generateManifest from '../controllers/manifest.mjs';
|
||||||
import generateCanvas from '../controllers/canvas.mjs';
|
import generateCanvas from '../controllers/canvas.mjs';
|
||||||
import generateSequence from '../controllers/sequence.mjs';
|
import generateSequence from '../controllers/sequence.mjs';
|
||||||
|
import exposeParams from '../controllers/params.mjs';
|
||||||
import express from 'express';
|
import express from 'express';
|
||||||
|
|
||||||
let router = express.Router();
|
let router = express.Router();
|
||||||
@ -26,5 +27,9 @@ router.get('/iiif/:manifestid/sequence/:name', async function(req, res) {
|
|||||||
res.json(sequence);
|
res.json(sequence);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
/* GET possible params for manifest responses */
|
||||||
|
router.get('/params', async function(req, res) {
|
||||||
|
res.json(await exposeParams());
|
||||||
|
});
|
||||||
|
|
||||||
export default router;
|
export default router;
|
@ -43,6 +43,24 @@ function extractDNOMetadata(imgFilename) {
|
|||||||
date: '',
|
date: '',
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* Retrieves available image techniques
|
||||||
|
* for all papyruses based on folder contents
|
||||||
|
* @returns {object}
|
||||||
|
*/
|
||||||
|
Common.getParamsFromFolders = async function() {
|
||||||
|
let params = {};
|
||||||
|
const papyri = await fs.promises.readdir(process.env.IMAGES_DIR);
|
||||||
|
|
||||||
|
for (let p of papyri) {
|
||||||
|
params[p] = [];
|
||||||
|
for (let tech of await fs.promises.readdir(`${process.env.IMAGES_DIR}/${p}`)) {
|
||||||
|
params[p].push(tech.toLowerCase().replaceAll('_','-'));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return params;
|
||||||
|
}
|
||||||
/**
|
/**
|
||||||
* @param {string} manifestId
|
* @param {string} manifestId
|
||||||
*/
|
*/
|
||||||
|
Loading…
Reference in New Issue
Block a user