From b93c09959cc0f0be0306e6f72ed16c327f7c981e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Garc=C3=ADa=20Aubert?= Date: Thu, 5 Oct 2017 12:12:21 +0200 Subject: [PATCH] Back to use just one router --- lib/cartodb/controllers/analyses.js | 11 ++-- lib/cartodb/controllers/layergroup.js | 70 +++++++++++++-------- lib/cartodb/controllers/named_maps_admin.js | 47 +++++++++++--- lib/cartodb/server.js | 14 +---- 4 files changed, 88 insertions(+), 54 deletions(-) diff --git a/lib/cartodb/controllers/analyses.js b/lib/cartodb/controllers/analyses.js index ebe9c007..eb5f5576 100644 --- a/lib/cartodb/controllers/analyses.js +++ b/lib/cartodb/controllers/analyses.js @@ -20,14 +20,11 @@ util.inherits(AnalysesController, BaseController); module.exports = AnalysesController; -AnalysesController.prototype.register = function(router) { - router.use( +AnalysesController.prototype.register = function(app) { + app.get( + app.base_url_mapconfig + '/analyses/catalog', cors(), - userMiddleware - ); - - router.get( - '/analyses/catalog', + userMiddleware, this.prepareContext, this.catalog.bind(this) ); diff --git a/lib/cartodb/controllers/layergroup.js b/lib/cartodb/controllers/layergroup.js index 2172f6c3..cdeadc74 100644 --- a/lib/cartodb/controllers/layergroup.js +++ b/lib/cartodb/controllers/layergroup.js @@ -51,46 +51,53 @@ util.inherits(LayergroupController, BaseController); module.exports = LayergroupController; -LayergroupController.prototype.register = function(router) { - router.use( +LayergroupController.prototype.register = function(app) { + app.get( + app.base_url_mapconfig + '/:token/:z/:x/:y@:scale_factor?x.:format', cors(), - userMiddleware - ); - - router.get( - '/:token/:z/:x/:y@:scale_factor?x.:format', + userMiddleware, this.prepareContext, this.tile.bind(this) ); - router.get( - '/:token/:z/:x/:y.:format', + app.get( + app.base_url_mapconfig + '/:token/:z/:x/:y.:format', + cors(), + userMiddleware, this.prepareContext, this.tile.bind(this) ); - router.get( - '/:token/:layer/:z/:x/:y.(:format)', + app.get( + app.base_url_mapconfig + '/:token/:layer/:z/:x/:y.(:format)', + cors(), + userMiddleware, validateLayerRouteMiddleware, this.prepareContext, this.layer.bind(this) ); - router.get( - '/:token/:layer/attributes/:fid', + app.get( + app.base_url_mapconfig + '/:token/:layer/attributes/:fid', + cors(), + userMiddleware, this.prepareContext, this.attributes.bind(this) ); - router.get( - '/static/center/:token/:z/:lat/:lng/:width/:height.:format', + app.get( + app.base_url_mapconfig + '/static/center/:token/:z/:lat/:lng/:width/:height.:format', + cors(), + userMiddleware, allowQueryParams(['layer']), this.prepareContext, this.center.bind(this) ); - router.get( - '/static/bbox/:token/:west,:south,:east,:north/:width/:height.:format', + app.get( + app.base_url_mapconfig + '/static/bbox/:token/:west,:south,:east,:north/:width/:height.:format', + cors(), + userMiddleware, allowQueryParams(['layer']), this.prepareContext, this.bbox.bind(this) @@ -112,35 +119,46 @@ LayergroupController.prototype.register = function(router) { 'q' // widgets search ]; - router.get( - '/:token/dataview/:dataviewName', + app.get( + app.base_url_mapconfig + '/:token/dataview/:dataviewName', + cors(), + userMiddleware, allowQueryParams(allowedDataviewQueryParams), this.prepareContext, this.dataview.bind(this) ); - router.get( - '/:token/:layer/widget/:dataviewName', + app.get( + app.base_url_mapconfig + '/:token/:layer/widget/:dataviewName', + cors(), + userMiddleware, allowQueryParams(allowedDataviewQueryParams), this.prepareContext, this.dataview.bind(this) ); - router.get( - '/:token/dataview/:dataviewName/search', + app.get( + app.base_url_mapconfig + '/:token/dataview/:dataviewName/search', + cors(), + userMiddleware, allowQueryParams(allowedDataviewQueryParams), this.prepareContext, this.dataviewSearch.bind(this) ); - router.get( - '/:token/:layer/widget/:dataviewName/search', + app.get( + app.base_url_mapconfig + '/:token/:layer/widget/:dataviewName/search', + cors(), + userMiddleware, allowQueryParams(allowedDataviewQueryParams), this.prepareContext, this.dataviewSearch.bind(this) ); - router.get('/:token/analysis/node/:nodeId', + app.get( + app.base_url_mapconfig + '/:token/analysis/node/:nodeId', + cors(), + userMiddleware, this.prepareContext, this.analysisNodeStatus.bind(this) ); diff --git a/lib/cartodb/controllers/named_maps_admin.js b/lib/cartodb/controllers/named_maps_admin.js index a4a126d5..411beb35 100644 --- a/lib/cartodb/controllers/named_maps_admin.js +++ b/lib/cartodb/controllers/named_maps_admin.js @@ -26,19 +26,46 @@ util.inherits(NamedMapsAdminController, BaseController); module.exports = NamedMapsAdminController; -NamedMapsAdminController.prototype.register = function (router) { - router.options('/:template_id', cors('Content-Type')); - - router.use( +NamedMapsAdminController.prototype.register = function (app) { + app.post( + app.base_url_templated + '/', cors(), - userMiddleware + userMiddleware, + this.create.bind(this) ); - router.post('/', this.create.bind(this)); - router.put('/:template_id', this.update.bind(this)); - router.get('/:template_id', this.retrieve.bind(this)); - router.delete('/:template_id', this.destroy.bind(this)); - router.get('/', this.list.bind(this)); + app.put( + app.base_url_templated + '/:template_id', + cors(), + userMiddleware, + this.update.bind(this) + ); + + app.get( + app.base_url_templated + '/:template_id', + cors(), + userMiddleware, + this.retrieve.bind(this) + ); + + app.delete( + app.base_url_templated + '/:template_id', + cors(), + userMiddleware, + this.destroy.bind(this) + ); + + app.get( + app.base_url_templated + '/', + cors(), + userMiddleware, + this.list.bind(this) + ); + + app.options( + app.base_url_templated + '/:template_id', + cors('Content-Type') + ); }; NamedMapsAdminController.prototype.create = function(req, res, next) { diff --git a/lib/cartodb/server.js b/lib/cartodb/server.js index 51841dca..15c7190e 100644 --- a/lib/cartodb/server.js +++ b/lib/cartodb/server.js @@ -219,8 +219,6 @@ module.exports = function(serverOptions) { * Routing ******************************************************************************************************************/ - const routerLayergroup = express.Router(); - new controller.Layergroup( prepareContext, pgConnection, @@ -232,9 +230,7 @@ module.exports = function(serverOptions) { userLimitsApi, layergroupAffectedTablesCache, analysisBackend - ).register(routerLayergroup); - - app.use(app.base_url_mapconfig, routerLayergroup); + ).register(app); new controller.Map( prepareContext, @@ -259,13 +255,9 @@ module.exports = function(serverOptions) { metadataBackend ).register(app); - const namedMapsAdminRouter = express.Router(); - new controller.NamedMapsAdmin(authApi, templateMaps).register(namedMapsAdminRouter); - app.use(app.base_url_templated, namedMapsAdminRouter); + new controller.NamedMapsAdmin(authApi, templateMaps).register(app); - const analysisRouter = express.Router(); - new controller.Analyses(prepareContext).register(analysisRouter); - app.use(app.base_url_mapconfig, analysisRouter); + new controller.Analyses(prepareContext).register(app); new controller.ServerInfo(versions).register(app);