Extract getNamedMapProvider middleware from controller's context

This commit is contained in:
Daniel García Aubert
2018-03-14 12:58:56 +01:00
parent 75870dc6c1
commit 7598e6ab4b
+7 -5
View File
@@ -42,6 +42,7 @@ module.exports = NamedMapsController;
NamedMapsController.prototype.register = function(app) {
const tileOptions = {
namedMapProviderCache: this.namedMapProviderCache,
label: 'NAMED_MAP_TILE'
};
@@ -50,7 +51,7 @@ NamedMapsController.prototype.register = function(app) {
cors(),
userMiddleware(),
this.prepareContext,
this.getNamedMapProvider(tileOptions),
getNamedMapProvider(tileOptions),
this.getAffectedTables(),
this.getTile(tileOptions),
this.setSurrogateKey(),
@@ -63,6 +64,7 @@ NamedMapsController.prototype.register = function(app) {
);
const staticOptions = {
namedMapProviderCache: this.namedMapProviderCache,
forcedFormat: 'png',
label: 'STATIC_VIZ_MAP'
};
@@ -73,7 +75,7 @@ NamedMapsController.prototype.register = function(app) {
userMiddleware(),
allowQueryParams(['layer', 'zoom', 'lon', 'lat', 'bbox']),
this.prepareContext,
this.getNamedMapProvider(staticOptions),
getNamedMapProvider(staticOptions),
this.getAffectedTables(),
this.getTemplate(staticOptions),
this.prepareLayerFilterFromPreviewLayers(staticOptions),
@@ -89,7 +91,7 @@ NamedMapsController.prototype.register = function(app) {
);
};
NamedMapsController.prototype.getNamedMapProvider = function ({ label, forcedFormat = null }) {
function getNamedMapProvider ({ namedMapProviderCache, label, forcedFormat = null }) {
return function getNamedMapProviderMiddleware (req, res, next) {
const { user } = res.locals;
const { config, auth_token } = req.query;
@@ -102,7 +104,7 @@ NamedMapsController.prototype.getNamedMapProvider = function ({ label, forcedFor
const params = getRequestParams(res.locals);
this.namedMapProviderCache.get(user, template_id, config, auth_token, params, (err, namedMapProvider) => {
namedMapProviderCache.get(user, template_id, config, auth_token, params, (err, namedMapProvider) => {
if (err) {
err.label = label;
return next(err);
@@ -112,7 +114,7 @@ NamedMapsController.prototype.getNamedMapProvider = function ({ label, forcedFor
next();
});
}.bind(this);
};
};
NamedMapsController.prototype.getAffectedTables = function () {