From 40712a2e62a22d38e91cf2aeebf8d82cddabe66d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Garc=C3=ADa=20Aubert?= Date: Mon, 5 Mar 2018 18:05:42 +0100 Subject: [PATCH] Middlewarify search dataview endpoint --- lib/cartodb/controllers/layergroup.js | 29 +++++++++++---------------- 1 file changed, 12 insertions(+), 17 deletions(-) diff --git a/lib/cartodb/controllers/layergroup.js b/lib/cartodb/controllers/layergroup.js index 279bd5c7..a7c6ad2d 100644 --- a/lib/cartodb/controllers/layergroup.js +++ b/lib/cartodb/controllers/layergroup.js @@ -144,7 +144,8 @@ LayergroupController.prototype.register = function(app) { userMiddleware, allowQueryParams(allowedDataviewQueryParams), this.prepareContext, - this.dataviewSearch.bind(this) + this.getMapStoreMapConfigProvider(this.mapStore, this.userLimitsApi), + this.dataviewSearch(this.dataviewBackend) ); app.get( @@ -153,7 +154,8 @@ LayergroupController.prototype.register = function(app) { userMiddleware, allowQueryParams(allowedDataviewQueryParams), this.prepareContext, - this.dataviewSearch.bind(this) + this.getMapStoreMapConfigProvider(this.mapStore, this.userLimitsApi), + this.dataviewSearch(this.dataviewBackend) ); app.get( @@ -215,28 +217,21 @@ LayergroupController.prototype.getDataview = function (dataviewBackend) { }.bind(this); }; -LayergroupController.prototype.dataviewSearch = function(req, res, next) { - var self = this; +LayergroupController.prototype.dataviewSearch = function (dataviewBackend) { + return function dataviewSearchMiddlewarify (req, res, next) { + const { user, dataviewName, mapConfigProvider } = res.locals; - step( - function searchDataview() { - var mapConfigProvider = new MapStoreMapConfigProvider( - self.mapStore, res.locals.user, self.userLimitsApi, res.locals - ); - self.dataviewBackend.search(mapConfigProvider, res.locals.user, req.params.dataviewName, res.locals, this); - }, - function finish(err, searchResult, stats) { + dataviewBackend.search(mapConfigProvider, user, dataviewName, res.locals, (err, searchResult, stats) => { req.profiler.add(stats || {}); if (err) { err.label = 'GET DATAVIEW SEARCH'; - next(err); - } else { - self.sendResponse(req, res, searchResult, 200); + return next(err); } - } - ); + this.sendResponse(req, res, searchResult, 200); + }); + }.bind(this); }; LayergroupController.prototype.attributes = function(req, res, next) {