ES6 goodies

This commit is contained in:
Daniel García Aubert 2018-03-02 13:29:30 +01:00
parent 82f1e6753b
commit f2f6b9d49c

View File

@ -1,26 +1,29 @@
var LayergroupToken = require('../../models/layergroup-token');
const authErrorMessageTemplate = function (signer, user) {
return `Cannot use map signature of user "${signer}" on db of user "${user}"`;
};
module.exports = function layergroupToken () {
return function layergroupTokenMiddleware (req, res, next) {
if (!res.locals.token) {
return next();
}
var user = res.locals.user;
const user = res.locals.user;
const layergroupToken = LayergroupToken.parse(res.locals.token);
var layergroupToken = LayergroupToken.parse(res.locals.token);
res.locals.token = layergroupToken.token;
res.locals.cache_buster = layergroupToken.cacheBuster;
if (layergroupToken.signer) {
res.locals.signer = layergroupToken.signer;
if (res.locals.signer !== user) {
var err = new Error(`Cannot use map signature of user "${res.locals.signer}" on db of user "${user}"`);
const err = new Error(authErrorMessageTemplate(res.locals.signer, user));
err.type = 'auth';
err.http_status = 403;
if (req.query && req.query.callback) {
err.http_status = 200;
}
err.http_status = (req.query && req.query.callback) ? 200: 403;
return next(err);
}