diff --git a/lib/cartodb/controllers/map.js b/lib/cartodb/controllers/map.js index 41575629..0163160a 100644 --- a/lib/cartodb/controllers/map.js +++ b/lib/cartodb/controllers/map.js @@ -184,7 +184,9 @@ MapController.prototype.create = function(req, res, prepareConfigFn, next) { res.locals.analysesResults = context.analysesResults; res.locals.layergroup = layergroup; - const afterLayergroupCreate = self.afterLayergroupCreateBuilder(); + const afterLayergroupCreate = self.afterLayergroupCreateBuilder({ + includeQuery: true + }); afterLayergroupCreate(req, res, this); }, @@ -195,9 +197,8 @@ MapController.prototype.create = function(req, res, prepareConfigFn, next) { return next(err); } - const { layergroup, analysesResults = [] } = res.locals; + const { layergroup } = res.locals; - self.addAnalysesMetadata(res.locals.user, layergroup, analysesResults, true); addContextMetadata(layergroup, mapConfig.obj(), context); res.set('X-Layergroup-Id', layergroup.layergroupid); @@ -298,9 +299,8 @@ MapController.prototype.instantiateTemplate = function(req, res, prepareParamsFn return next(err); } - const { layergroup, analysesResults = [] } = res.locals; + const { layergroup } = res.locals; - self.addAnalysesMetadata(cdbuser, layergroup, analysesResults); addContextMetadata(layergroup, mapConfig.obj(), mapConfigProvider.context); res.set('X-Layergroup-Id', layergroup.layergroupid); @@ -319,7 +319,10 @@ MapController.prototype.instantiateTemplate = function(req, res, prepareParamsFn MapController.prototype.afterLayergroupCreateBuilder = function (options = {}) { const self = this; - const { useTemplateHash = false } = options; + const { + useTemplateHash = false, + includeQuery = false + } = options; return function (req, res, callback) { step( @@ -363,6 +366,13 @@ MapController.prototype.afterLayergroupCreateBuilder = function (options = {}) { assert.ifError(err); self.setDataviewsAndWidgetsUrlsToLayergroupMetadata(req, res, this); }, + function setAnalysesMetadataToLayergroup(err) { + assert.ifError(err); + + const setAnalysesMetadataToLayergroup = self.setAnalysesMetadataToLayergroupBuilder(includeQuery); + + setAnalysesMetadataToLayergroup(req, res, this); + }, function finish(err) { callback(err); } @@ -510,7 +520,19 @@ MapController.prototype.setDataviewsAndWidgetsUrlsToLayergroupMetadata = functio this.addDataviewsAndWidgetsUrls(user, layergroup, mapconfig.obj()); callback(); -} +}; + +MapController.prototype.setAnalysesMetadataToLayergroupBuilder = function (includeQuery) { + const self = this; + + return function setAnalysesMetadataToLayergroup (req, res, callback) { + const { layergroup, user, analysesResults = [] } = res.locals; + + self.addAnalysesMetadata(user, layergroup, analysesResults, includeQuery); + + callback(); + }; +}; function getLastUpdatedTime(analysesResults, lastUpdateTime) { if (!Array.isArray(analysesResults)) {