Store userId in res.locals
This commit is contained in:
parent
59cb6f9c9c
commit
9591a5a2b0
@ -200,6 +200,7 @@ module.exports = class ApiRouter {
|
|||||||
|
|
||||||
this.mapRouter = new MapRouter({ collaborators });
|
this.mapRouter = new MapRouter({ collaborators });
|
||||||
this.templateRouter = new TemplateRouter({ collaborators });
|
this.templateRouter = new TemplateRouter({ collaborators });
|
||||||
|
this.metadataBackend = metadataBackend;
|
||||||
}
|
}
|
||||||
|
|
||||||
route (app, routes) {
|
route (app, routes) {
|
||||||
@ -224,7 +225,7 @@ module.exports = class ApiRouter {
|
|||||||
}));
|
}));
|
||||||
apiRouter.use(lzmaMiddleware());
|
apiRouter.use(lzmaMiddleware());
|
||||||
apiRouter.use(cors());
|
apiRouter.use(cors());
|
||||||
apiRouter.use(user());
|
apiRouter.use(user(this.metadataBackend));
|
||||||
|
|
||||||
this.templateRouter.route(apiRouter, route.template);
|
this.templateRouter.route(apiRouter, route.template);
|
||||||
this.mapRouter.route(apiRouter, route.map);
|
this.mapRouter.route(apiRouter, route.map);
|
||||||
|
@ -2,12 +2,30 @@
|
|||||||
|
|
||||||
const CdbRequest = require('../../models/cdb-request');
|
const CdbRequest = require('../../models/cdb-request');
|
||||||
|
|
||||||
module.exports = function user () {
|
module.exports = function user (metadataBackend) {
|
||||||
const cdbRequest = new CdbRequest();
|
const cdbRequest = new CdbRequest();
|
||||||
|
|
||||||
return function userMiddleware (req, res, next) {
|
return function userMiddleware (req, res, next) {
|
||||||
res.locals.user = cdbRequest.userByReq(req);
|
res.locals.user = getUserNameFromRequest(req, cdbRequest);
|
||||||
|
|
||||||
next();
|
getUserId(metadataBackend, res.locals.user, function (userId) {
|
||||||
|
if (userId) {
|
||||||
|
res.locals.userId = userId;
|
||||||
|
}
|
||||||
|
return next();
|
||||||
|
});
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
function getUserNameFromRequest (req, cdbRequest) {
|
||||||
|
return cdbRequest.userByReq(req);
|
||||||
|
}
|
||||||
|
|
||||||
|
function getUserId (metadataBackend, userName, callback) {
|
||||||
|
metadataBackend.getUserId(userName, function (err, userId) {
|
||||||
|
if (err) {
|
||||||
|
return callback();
|
||||||
|
}
|
||||||
|
return callback(userId);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user