Extract hash template for layergroup id and dataviews/widgets to a middlewares
This commit is contained in:
@@ -197,7 +197,6 @@ MapController.prototype.create = function(req, res, prepareConfigFn, next) {
|
||||
|
||||
const { layergroup, analysesResults = [] } = res.locals;
|
||||
|
||||
self.addDataviewsAndWidgetsUrls(res.locals.user, layergroup, mapConfig.obj());
|
||||
self.addAnalysesMetadata(res.locals.user, layergroup, analysesResults, true);
|
||||
addContextMetadata(layergroup, mapConfig.obj(), context);
|
||||
res.set('X-Layergroup-Id', layergroup.layergroupid);
|
||||
@@ -285,8 +284,11 @@ MapController.prototype.instantiateTemplate = function(req, res, prepareParamsFn
|
||||
res.locals.mapconfig = mapConfig;
|
||||
res.locals.analysesResults = mapConfigProvider.analysesResults;
|
||||
res.locals.layergroup = layergroup;
|
||||
res.locals.template = mapConfigProvider.template;
|
||||
|
||||
const afterLayergroupCreate = self.afterLayergroupCreateBuilder();
|
||||
const afterLayergroupCreate = self.afterLayergroupCreateBuilder({
|
||||
useTemplateHash: true
|
||||
});
|
||||
|
||||
afterLayergroupCreate(req, res, this);
|
||||
},
|
||||
@@ -298,10 +300,6 @@ MapController.prototype.instantiateTemplate = function(req, res, prepareParamsFn
|
||||
|
||||
const { layergroup, analysesResults = [] } = res.locals;
|
||||
|
||||
var templateHash = self.templateMaps.fingerPrint(mapConfigProvider.template).substring(0, 8);
|
||||
layergroup.layergroupid = cdbuser + '@' + templateHash + '@' + layergroup.layergroupid;
|
||||
|
||||
self.addDataviewsAndWidgetsUrls(cdbuser, layergroup, mapConfig.obj());
|
||||
self.addAnalysesMetadata(cdbuser, layergroup, analysesResults);
|
||||
addContextMetadata(layergroup, mapConfig.obj(), mapConfigProvider.context);
|
||||
|
||||
@@ -319,8 +317,9 @@ MapController.prototype.instantiateTemplate = function(req, res, prepareParamsFn
|
||||
);
|
||||
};
|
||||
|
||||
MapController.prototype.afterLayergroupCreateBuilder = function () {
|
||||
var self = this;
|
||||
MapController.prototype.afterLayergroupCreateBuilder = function (options = {}) {
|
||||
const self = this;
|
||||
const { useTemplateHash = false } = options;
|
||||
|
||||
return function (req, res, callback) {
|
||||
step(
|
||||
@@ -351,6 +350,19 @@ MapController.prototype.afterLayergroupCreateBuilder = function () {
|
||||
assert.ifError(err);
|
||||
self.setLayerStats(req, res, this);
|
||||
},
|
||||
function augmentLayergroupIdWithTemplateHash (err) {
|
||||
assert.ifError(err);
|
||||
|
||||
if (!useTemplateHash) {
|
||||
return null;
|
||||
}
|
||||
|
||||
self.augmentLayergroupIdWithTemplateHash(req, res, this);
|
||||
},
|
||||
function (err) {
|
||||
assert.ifError(err);
|
||||
self.setDataviewsAndWidgetsUrlsToLayergroupMetadata(req, res, this);
|
||||
},
|
||||
function finish(err) {
|
||||
callback(err);
|
||||
}
|
||||
@@ -483,6 +495,23 @@ MapController.prototype.setLayerStats = function (req, res, callback) {
|
||||
});
|
||||
};
|
||||
|
||||
MapController.prototype.augmentLayergroupIdWithTemplateHash = function (req, res, callback) {
|
||||
const { layergroup, user, template } = res.locals;
|
||||
|
||||
var templateHash = this.templateMaps.fingerPrint(template).substring(0, 8);
|
||||
layergroup.layergroupid = `${user}@${templateHash}@${layergroup.layergroupid}`;
|
||||
|
||||
callback();
|
||||
};
|
||||
|
||||
MapController.prototype.setDataviewsAndWidgetsUrlsToLayergroupMetadata = function (req, res, callback) {
|
||||
const { layergroup, user, mapconfig } = res.locals;
|
||||
|
||||
this.addDataviewsAndWidgetsUrls(user, layergroup, mapconfig.obj());
|
||||
|
||||
callback();
|
||||
}
|
||||
|
||||
function getLastUpdatedTime(analysesResults, lastUpdateTime) {
|
||||
if (!Array.isArray(analysesResults)) {
|
||||
return lastUpdateTime;
|
||||
|
||||
Reference in New Issue
Block a user