Add map layer middleware and API endpoints

This commit is contained in:
D. Berge
2023-09-11 10:15:19 +02:00
parent 398c702004
commit 36d5862375
5 changed files with 40 additions and 1 deletions

View File

@@ -123,6 +123,12 @@ app.map({
'/project/:project/gis/final/:featuretype(line|point)': { '/project/:project/gis/final/:featuretype(line|point)': {
get: [ mw.gis.project.final ] get: [ mw.gis.project.final ]
}, },
'/project/:project/gis/layer': {
get: [ mw.etag.noSave, mw.gis.project.layer.list ]
},
'/project/:project/gis/layer/:name': {
get: [ mw.etag.noSave, mw.gis.project.layer.get ]
},
/* /*
* Line endpoints * Line endpoints

View File

@@ -2,5 +2,6 @@ module.exports = {
bbox: require('./bbox'), bbox: require('./bbox'),
preplot: require('./preplot'), preplot: require('./preplot'),
raw: require('./raw'), raw: require('./raw'),
final: require('./final') final: require('./final'),
layer: require('./layer')
}; };

View File

@@ -0,0 +1,14 @@
const { gis } = require('../../../../../lib/db');
module.exports = async function (req, res, next) {
try {
res.set("Cache-Control", "public, max-age=21600");
res.status(200).send(await gis.project.layer.get(req.params.project, req.params.name));
next();
} catch (err) {
next(err);
}
};

View File

@@ -0,0 +1,4 @@
module.exports = {
list: require('./list'),
get: require('./get')
};

View File

@@ -0,0 +1,14 @@
const { gis } = require('../../../../../lib/db');
module.exports = async function (req, res, next) {
try {
res.set("Cache-Control", "public, max-age=180");
res.status(200).send(await gis.project.layer.list(req.params.project));
next();
} catch (err) {
next(err);
}
};