Create middleware for layergroup creation
This commit is contained in:
@@ -84,6 +84,7 @@ MapController.prototype.register = function(app) {
|
||||
this.prepareContext,
|
||||
prepareJsonTemplateParams,
|
||||
this.getTemplate.bind(this),
|
||||
this.createLayergroupFromTemplate.bind(this),
|
||||
this.jsonp.bind(this),
|
||||
mapErrorMiddleware({
|
||||
label: 'NAMED MAP LAYERGROUP'
|
||||
@@ -96,6 +97,7 @@ MapController.prototype.register = function(app) {
|
||||
this.prepareContext,
|
||||
prepareTemplateParams,
|
||||
this.getTemplate.bind(this),
|
||||
this.createLayergroupFromTemplate.bind(this),
|
||||
this.instantiate.bind(this),
|
||||
mapErrorMiddleware({
|
||||
label: 'NAMED MAP LAYERGROUP'
|
||||
@@ -264,7 +266,7 @@ MapController.prototype.getTemplate = function(req, res, next) {
|
||||
const templateParams = req.body;
|
||||
const { user } = res.locals;
|
||||
|
||||
const mapConfigProvider = res.locals.mapconfigProvider = new NamedMapMapConfigProvider(
|
||||
const mapconfigProvider = new NamedMapMapConfigProvider(
|
||||
this.templateMaps,
|
||||
this.pgConnection,
|
||||
this.metadataBackend,
|
||||
@@ -277,13 +279,37 @@ MapController.prototype.getTemplate = function(req, res, next) {
|
||||
res.locals
|
||||
);
|
||||
|
||||
mapConfigProvider.getMapConfig((err, mapconfig, rendererParams) => {
|
||||
mapconfigProvider.getMapConfig((err, mapconfig, rendererParams) => {
|
||||
if (err) {
|
||||
return next(err);
|
||||
}
|
||||
|
||||
res.locals.mapconfig = mapconfig;
|
||||
res.locals.rendererParams = rendererParams;
|
||||
res.locals.mapconfigProvider = mapconfigProvider;
|
||||
|
||||
next();
|
||||
});
|
||||
};
|
||||
|
||||
MapController.prototype.createLayergroupFromTemplate = function(req, res, next) {
|
||||
const { user, mapconfig, rendererParams } = res.locals;
|
||||
const mapconfigProvider = new CreateLayergroupMapConfigProvider(mapconfig, user, this.userLimitsApi, rendererParams);
|
||||
|
||||
this.mapBackend.createLayergroup(mapconfig, rendererParams, mapconfigProvider, (err, layergroup) => {
|
||||
if (err) {
|
||||
return next(err);
|
||||
}
|
||||
|
||||
res.locals.layergroup = layergroup;
|
||||
|
||||
// TODO: Do not provide shortcuts
|
||||
const { mapconfigProvider } = res.locals;
|
||||
|
||||
res.locals.analysesResults = mapconfigProvider.analysesResults;
|
||||
res.locals.template = mapconfigProvider.template;
|
||||
res.locals.templateName = mapconfigProvider.getTemplateName();
|
||||
res.locals.context = mapconfigProvider.context;
|
||||
|
||||
next();
|
||||
});
|
||||
@@ -293,27 +319,7 @@ MapController.prototype.instantiateTemplate = function(req, res, next) {
|
||||
var self = this;
|
||||
|
||||
step(
|
||||
function createLayergroup() {
|
||||
const { user, mapconfig, rendererParams } = res.locals;
|
||||
|
||||
self.mapBackend.createLayergroup(
|
||||
mapconfig, rendererParams,
|
||||
new CreateLayergroupMapConfigProvider(mapconfig, user, self.userLimitsApi, rendererParams),
|
||||
this
|
||||
);
|
||||
},
|
||||
function afterLayergroupCreate(err, layergroup) {
|
||||
assert.ifError(err);
|
||||
|
||||
res.locals.layergroup = layergroup;
|
||||
|
||||
const { mapconfigProvider } = res.locals;
|
||||
|
||||
res.locals.analysesResults = mapconfigProvider.analysesResults;
|
||||
res.locals.template = mapconfigProvider.template;
|
||||
res.locals.templateName = mapconfigProvider.getTemplateName();
|
||||
res.locals.context = mapconfigProvider.context;
|
||||
|
||||
function afterLayergroupCreate() {
|
||||
const afterLayergroupCreate = self.afterLayergroupCreateBuilder({
|
||||
useTemplateHash: true
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user