Middlewarify dataview endpoint
This commit is contained in:
@@ -124,7 +124,8 @@ LayergroupController.prototype.register = function(app) {
|
||||
userMiddleware,
|
||||
allowQueryParams(allowedDataviewQueryParams),
|
||||
this.prepareContext,
|
||||
this.dataview.bind(this)
|
||||
this.getMapStoreMapConfigProvider(this.mapStore, this.userLimitsApi),
|
||||
this.getDataview()
|
||||
);
|
||||
|
||||
app.get(
|
||||
@@ -133,7 +134,8 @@ LayergroupController.prototype.register = function(app) {
|
||||
userMiddleware,
|
||||
allowQueryParams(allowedDataviewQueryParams),
|
||||
this.prepareContext,
|
||||
this.dataview.bind(this)
|
||||
this.getMapStoreMapConfigProvider(this.mapStore, this.userLimitsApi),
|
||||
this.getDataview()
|
||||
);
|
||||
|
||||
app.get(
|
||||
@@ -186,32 +188,31 @@ LayergroupController.prototype.analysisNodeStatus = function(req, res, next) {
|
||||
);
|
||||
};
|
||||
|
||||
LayergroupController.prototype.dataview = function(req, res, next) {
|
||||
var self = this;
|
||||
LayergroupController.prototype.getMapStoreMapConfigProvider = function (mapStore, userLimitsApi) {
|
||||
return function getMapStoreMapConfigProviderMiddleware (req, res, next) {
|
||||
const { user } = res.locals;
|
||||
|
||||
step(
|
||||
function retrieveDataview() {
|
||||
var mapConfigProvider = new MapStoreMapConfigProvider(
|
||||
self.mapStore, res.locals.user, self.userLimitsApi, res.locals
|
||||
);
|
||||
self.dataviewBackend.getDataview(
|
||||
mapConfigProvider,
|
||||
res.locals.user,
|
||||
res.locals,
|
||||
this
|
||||
);
|
||||
},
|
||||
function finish(err, dataview, stats) {
|
||||
res.locals.mapConfigProvider = new MapStoreMapConfigProvider(mapStore, user, userLimitsApi, res.locals);
|
||||
|
||||
next();
|
||||
};
|
||||
};
|
||||
|
||||
LayergroupController.prototype.getDataview = function () {
|
||||
return function getDataviewMiddleware (req, res, next) {
|
||||
const { user, mapConfigProvider } = res.locals;
|
||||
|
||||
this.dataviewBackend.getDataview(mapConfigProvider, user, res.locals, (err, dataview, stats) => {
|
||||
req.profiler.add(stats || {});
|
||||
|
||||
if (err) {
|
||||
err.label = 'GET DATAVIEW';
|
||||
next(err);
|
||||
} else {
|
||||
self.sendResponse(req, res, dataview, 200);
|
||||
return next(err);
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
this.sendResponse(req, res, dataview, 200);
|
||||
});
|
||||
}.bind(this);
|
||||
};
|
||||
|
||||
LayergroupController.prototype.dataviewSearch = function(req, res, next) {
|
||||
|
||||
Reference in New Issue
Block a user