Remove send method in base controller and remove BaseController class

This commit is contained in:
Daniel García Aubert
2017-10-30 19:28:40 +01:00
parent da87a95dd9
commit b6c405bf68
6 changed files with 49 additions and 74 deletions
+9 -10
View File
@@ -3,21 +3,13 @@ var assert = require('assert');
var dot = require('dot');
dot.templateSettings.strip = false;
var PSQL = require('cartodb-psql');
var util = require('util');
var BaseController = require('./base');
var cors = require('../middleware/cors');
var userMiddleware = require('../middleware/user');
function AnalysesController(prepareContext) {
BaseController.call(this);
this.prepareContext = prepareContext;
}
util.inherits(AnalysesController, BaseController);
module.exports = AnalysesController;
AnalysesController.prototype.register = function(app) {
@@ -30,9 +22,16 @@ AnalysesController.prototype.register = function(app) {
);
};
AnalysesController.prototype.sendResponse = function(req, res, resource) {
AnalysesController.prototype.sendResponse = function(req, res, body) {
res.set('Cache-Control', 'public,max-age=10,must-revalidate');
this.send(req, res, resource, 200);
res.status(200);
if (req.query && req.query.callback) {
res.jsonp(body);
} else {
res.json(body);
}
};
AnalysesController.prototype.catalog = function (req, res, next) {
-22
View File
@@ -1,22 +0,0 @@
function BaseController() {
}
module.exports = BaseController;
BaseController.prototype.send = function(req, res, body, status, headers) {
if (headers) {
res.set(headers);
}
res.status(status);
if (!Buffer.isBuffer(body) && typeof body === 'object') {
if (req.query && req.query.callback) {
res.jsonp(body);
} else {
res.json(body);
}
} else {
res.send(body);
}
};
+16 -8
View File
@@ -1,9 +1,6 @@
var assert = require('assert');
var step = require('step');
var util = require('util');
var BaseController = require('./base');
var cors = require('../middleware/cors');
var userMiddleware = require('../middleware/user');
var allowQueryParams = require('../middleware/allow-query-params');
@@ -30,8 +27,6 @@ var QueryTables = require('cartodb-query-tables');
*/
function LayergroupController(prepareContext, pgConnection, mapStore, tileBackend, previewBackend, attributesBackend,
surrogateKeysCache, userLimitsApi, layergroupAffectedTables, analysisBackend) {
BaseController.call(this);
this.pgConnection = pgConnection;
this.mapStore = mapStore;
this.tileBackend = tileBackend;
@@ -47,8 +42,6 @@ function LayergroupController(prepareContext, pgConnection, mapStore, tileBacken
this.prepareContext = prepareContext;
}
util.inherits(LayergroupController, BaseController);
module.exports = LayergroupController;
LayergroupController.prototype.register = function(app) {
@@ -422,7 +415,22 @@ LayergroupController.prototype.sendResponse = function(req, res, body, status, h
res.set('X-Cache-Channel', affectedTables.getCacheChannel());
self.surrogateKeysCache.tag(res, affectedTables);
}
self.send(req, res, body, status, headers);
if (headers) {
res.set(headers);
}
res.status(status);
if (!Buffer.isBuffer(body) && typeof body === 'object') {
if (req.query && req.query.callback) {
res.jsonp(body);
} else {
res.json(body);
}
} else {
res.send(body);
}
}
);
+8 -11
View File
@@ -6,9 +6,6 @@ var QueryTables = require('cartodb-query-tables');
var ResourceLocator = require('../models/resource-locator');
var util = require('util');
var BaseController = require('./base');
var cors = require('../middleware/cors');
var userMiddleware = require('../middleware/user');
@@ -36,9 +33,6 @@ var CreateLayergroupMapConfigProvider = require('../models/mapconfig/provider/cr
function MapController(prepareContext, pgConnection, templateMaps, mapBackend, metadataBackend,
surrogateKeysCache, userLimitsApi, layergroupAffectedTables, mapConfigAdapter,
statsBackend) {
BaseController.call(this);
this.pgConnection = pgConnection;
this.templateMaps = templateMaps;
this.mapBackend = mapBackend;
@@ -54,11 +48,8 @@ function MapController(prepareContext, pgConnection, templateMaps, mapBackend, m
this.prepareContext = prepareContext;
}
util.inherits(MapController, BaseController);
module.exports = MapController;
MapController.prototype.register = function(app) {
app.get(
app.base_url_mapconfig,
@@ -181,7 +172,7 @@ MapController.prototype.create = function(req, res, prepareConfigFn, next) {
var datasource = context.datasource || Datasource.EmptyDatasource();
mapConfig = new MapConfig(requestMapConfig, datasource);
self.mapBackend.createLayergroup(
mapConfig,
mapConfig,
res.locals,
new CreateLayergroupMapConfigProvider(mapConfig, res.locals.user, self.userLimitsApi, res.locals),
this
@@ -294,7 +285,13 @@ MapController.prototype.instantiateTemplate = function(req, res, prepareParamsFn
res.set('X-Layergroup-Id', layergroup.layergroupid);
self.surrogateKeysCache.tag(res, new NamedMapsCacheEntry(cdbuser, mapConfigProvider.getTemplateName()));
self.send(req, res, layergroup, 200);
res.status(200);
if (req.query && req.query.callback) {
res.jsonp(layergroup);
} else {
res.json(layergroup);
}
}
}
);
+8 -14
View File
@@ -3,17 +3,12 @@ var assert = require('assert');
var _ = require('underscore');
var NamedMapsCacheEntry = require('../cache/model/named_maps_entry');
var util = require('util');
var BaseController = require('./base');
var cors = require('../middleware/cors');
var userMiddleware = require('../middleware/user');
var allowQueryParams = require('../middleware/allow-query-params');
function NamedMapsController(prepareContext, namedMapProviderCache, tileBackend, previewBackend,
surrogateKeysCache, tablesExtentApi, metadataBackend) {
BaseController.call(this);
this.namedMapProviderCache = namedMapProviderCache;
this.tileBackend = tileBackend;
this.previewBackend = previewBackend;
@@ -23,8 +18,6 @@ function NamedMapsController(prepareContext, namedMapProviderCache, tileBackend,
this.prepareContext = prepareContext;
}
util.inherits(NamedMapsController, BaseController);
module.exports = NamedMapsController;
NamedMapsController.prototype.register = function(app) {
@@ -46,7 +39,7 @@ NamedMapsController.prototype.register = function(app) {
);
};
NamedMapsController.prototype.sendResponse = function(req, res, resource, headers, namedMapProvider) {
NamedMapsController.prototype.sendResponse = function(req, res, body, headers, namedMapProvider) {
this.surrogateKeysCache.tag(res, new NamedMapsCacheEntry(res.locals.user, namedMapProvider.getTemplateName()));
res.set('Content-Type', headers['content-type'] || headers['Content-Type'] || 'image/png');
res.set('Cache-Control', 'public,max-age=7200,must-revalidate');
@@ -79,7 +72,8 @@ NamedMapsController.prototype.sendResponse = function(req, res, resource, header
self.surrogateKeysCache.tag(res, result);
}
}
self.send(req, res, resource, 200);
res.status(200);
res.send(body);
}
);
};
@@ -143,7 +137,7 @@ NamedMapsController.prototype.staticMap = function(req, res, next) {
assert.ifError(err);
namedMapProvider = _namedMapProvider;
self.prepareLayerFilterFromPreviewLayers(cdbUser, req, res.locals, namedMapProvider, this);
},
function prepareImageOptions(err) {
@@ -192,10 +186,10 @@ NamedMapsController.prototype.staticMap = function(req, res, next) {
};
NamedMapsController.prototype.prepareLayerFilterFromPreviewLayers = function (
user,
req,
params,
namedMapProvider,
user,
req,
params,
namedMapProvider,
callback
) {
var self = this;
+8 -9
View File
@@ -2,9 +2,6 @@ var step = require('step');
var assert = require('assert');
var templateName = require('../backends/template_maps').templateName;
var util = require('util');
var BaseController = require('./base');
var cors = require('../middleware/cors');
var userMiddleware = require('../middleware/user');
@@ -16,14 +13,10 @@ var userMiddleware = require('../middleware/user');
* @constructor
*/
function NamedMapsAdminController(authApi, templateMaps) {
BaseController.call(this);
this.authApi = authApi;
this.templateMaps = templateMaps;
}
util.inherits(NamedMapsAdminController, BaseController);
module.exports = NamedMapsAdminController;
NamedMapsAdminController.prototype.register = function (app) {
@@ -206,12 +199,18 @@ NamedMapsAdminController.prototype.list = function(req, res, next) {
};
function finishFn(controller, req, res, description, status, next) {
return function finish(err, response){
return function finish(err, body){
if (err) {
err.label = description;
next(err);
} else {
controller.send(req, res, response, status || 200);
res.status(status || 200);
if (req.query && req.query.callback) {
res.jsonp(body);
} else {
res.json(body);
}
}
};
}