Windshaft-cartodb/lib/api/middlewares/user.js

26 lines
670 B
JavaScript
Raw Normal View History

'use strict';
2019-10-07 15:58:21 +08:00
const CdbRequest = require('../../models/cdb-request');
2020-02-20 18:47:44 +08:00
module.exports = function user (metadataBackend) {
2018-03-01 22:42:46 +08:00
const cdbRequest = new CdbRequest();
2017-10-03 23:47:57 +08:00
2019-10-22 01:07:24 +08:00
return function userMiddleware (req, res, next) {
2020-02-20 18:47:44 +08:00
res.locals.user = getUserNameFromRequest(req, cdbRequest);
2020-04-27 16:23:11 +08:00
metadataBackend.getUserId(res.locals.user, (err, userId) => {
if (err || !userId) {
return next();
2020-02-20 18:47:44 +08:00
}
2020-04-27 16:23:11 +08:00
res.locals.userId = userId;
res.set('Carto-User-Id', `${userId}`);
2020-04-27 17:06:09 +08:00
return next();
2020-02-20 18:47:44 +08:00
});
};
};
2020-02-20 18:47:44 +08:00
function getUserNameFromRequest (req, cdbRequest) {
return cdbRequest.userByReq(req);
}