mirror of
https://gitlab.com/wgp/dougal/software.git
synced 2025-12-06 11:17:08 +00:00
Add map layer middleware and API endpoints
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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')
|
||||||
};
|
};
|
||||||
|
|||||||
14
lib/www/server/api/middleware/gis/project/layer/get.js
Normal file
14
lib/www/server/api/middleware/gis/project/layer/get.js
Normal 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);
|
||||||
|
}
|
||||||
|
|
||||||
|
};
|
||||||
4
lib/www/server/api/middleware/gis/project/layer/index.js
Normal file
4
lib/www/server/api/middleware/gis/project/layer/index.js
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
module.exports = {
|
||||||
|
list: require('./list'),
|
||||||
|
get: require('./get')
|
||||||
|
};
|
||||||
14
lib/www/server/api/middleware/gis/project/layer/list.js
Normal file
14
lib/www/server/api/middleware/gis/project/layer/list.js
Normal 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);
|
||||||
|
}
|
||||||
|
|
||||||
|
};
|
||||||
Reference in New Issue
Block a user