Move sequence events middleware to a different path.

This is to make room for a new endpoint to retrieve
data for individual events.
This commit is contained in:
D. Berge
2022-02-27 17:42:28 +01:00
parent 920ea83ece
commit 4d2efd1e04
8 changed files with 28 additions and 18 deletions

View File

@@ -140,8 +140,9 @@ app.map({
post: [ mw.auth.access.write, mw.event.post ],
put: [ mw.auth.access.write, mw.event.put ],
delete: [ mw.auth.access.write, mw.event.delete ],
// TODO Rename -/:sequence → sequence/:sequence
'-/:sequence/': { // NOTE: We need to avoid conflict with the next endpoint ☹
get: [ mw.event.get ],
get: [ mw.event.sequence.get ],
},
':type/': {
':id/': {

View File

@@ -1,4 +1,4 @@
const { transform, prepare } = require('../../../../lib/sse');
const { transform, prepare } = require('../../../../../lib/sse');
const geojson = async function (req, res, next) {
try {

View File

@@ -1,9 +1,9 @@
const { configuration } = require('../../../../lib/db');
const { transform, prepare } = require('../../../../lib/sse');
const render = require('../../../../lib/render');
const { configuration } = require('../../../../../lib/db');
const { transform, prepare } = require('../../../../../lib/sse');
const render = require('../../../../../lib/render');
// FIXME Refactor when able
const defaultTemplatePath = require('path').resolve(__dirname, "../../../../../../../etc/default/templates/sequence.html.njk");
const defaultTemplatePath = require('path').resolve(__dirname, "../../../../../../../../etc/default/templates/sequence.html.njk");
const html = async function (req, res, next) {
try {
@@ -13,9 +13,9 @@ const html = async function (req, res, next) {
const seis = transform(events, sequences, {projectId: req.params.project, missingAsEvent: true});
const template = (await configuration.get(req.params.project, "sse/templates/0/template")) || defaultTemplatePath;
// console.log("TEMPLATE", template);
const response = await render(seis, template);
if ("download" in query || "d" in query) {
const extension = "html";
// Get the sequence number(s) (more than one sequence can be selected)

View File

@@ -1,4 +1,4 @@
const { transform, prepare } = require('../../../../lib/sse');
const { transform, prepare } = require('../../../../../lib/sse');
const json = async function (req, res, next) {
try {

View File

@@ -1,13 +1,13 @@
const fs = require('fs/promises');
const Path = require('path');
const crypto = require('crypto');
const { configuration } = require('../../../../lib/db');
const { transform, prepare } = require('../../../../lib/sse');
const render = require('../../../../lib/render');
const { url2pdf } = require('../../../../lib/selenium');
const { configuration } = require('../../../../../lib/db');
const { transform, prepare } = require('../../../../../lib/sse');
const render = require('../../../../../lib/render');
const { url2pdf } = require('../../../../../lib/selenium');
// FIXME Refactor when able
const defaultTemplatePath = require('path').resolve(__dirname, "../../../../../../../etc/default/templates/sequence.html.njk");
const defaultTemplatePath = require('path').resolve(__dirname, "../../../../../../../../etc/default/templates/sequence.html.njk");
function tmpname (tmpdir="/dev/shm") {
return Path.join(tmpdir, crypto.randomBytes(16).toString('hex')+".tmp");
@@ -21,12 +21,12 @@ const pdf = async function (req, res, next) {
const {events, sequences} = await prepare(req.params.project, query);
const seis = transform(events, sequences, {projectId: req.params.project, missingAsEvent: true});
const template = (await configuration.get(req.params.project, "sse/templates/0/template")) || defaultTemplatePath;
const html = await render(seis, template);
await fs.writeFile(fname, html);
const pdf = Buffer.from(await url2pdf("file://"+fname), "base64");
if ("download" in query || "d" in query) {
const extension = "pdf";
// Get the sequence number(s) (more than one sequence can be selected)

View File

@@ -1,4 +1,4 @@
const { transform, prepare } = require('../../../../lib/sse');
const { transform, prepare } = require('../../../../../lib/sse');
const seis = async function (req, res, next) {
try {

View File

@@ -0,0 +1,9 @@
module.exports = {
// list: require('./list'),
get: require('./get'),
// post: require('./post'),
// put: require('./put'),
// delete: require('./delete'),
// cache: require('./cache')
}