Extract getNamedMapProvider middleware from controller's context
This commit is contained in:
@@ -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 () {
|
||||
|
||||
Reference in New Issue
Block a user