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 generateCanvas from '../controllers/canvas.mjs';
|
||||
import generateSequence from '../controllers/sequence.mjs';
|
||||
import exposeParams from '../controllers/params.mjs';
|
||||
import express from 'express';
|
||||
|
||||
let router = express.Router();
|
||||
@ -26,5 +27,9 @@ router.get('/iiif/:manifestid/sequence/:name', async function(req, res) {
|
||||
res.json(sequence);
|
||||
});
|
||||
|
||||
/* GET possible params for manifest responses */
|
||||
router.get('/params', async function(req, res) {
|
||||
res.json(await exposeParams());
|
||||
});
|
||||
|
||||
export default router;
|
@ -43,6 +43,24 @@ function extractDNOMetadata(imgFilename) {
|
||||
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
|
||||
*/
|
||||
|
Loading…
Reference in New Issue
Block a user