fix(ci): Fix lint errors thrown in CI

This commit is contained in:
Bouncey
2019-02-16 13:51:46 +00:00
committed by mrugesh mohapatra
parent 3f25ed051d
commit c0104faa38
3 changed files with 56 additions and 62 deletions

View File

@ -12,75 +12,69 @@ const apiProxyRE = /^\/internal\/|^\/external\//;
const newsShortLinksRE = /^\/internal\/n\/|^\/internal\/p\?/;
const loopbackAPIPathRE = /^\/internal\/api\//;
const _whiteListREs = [
newsShortLinksRE,
loopbackAPIPathRE
];
const _whiteListREs = [newsShortLinksRE, loopbackAPIPathRE];
export function isWhiteListedPath(path, whiteListREs= _whiteListREs) {
return whiteListREs.some(re => re.test(path))
export function isWhiteListedPath(path, whiteListREs = _whiteListREs) {
return whiteListREs.some(re => re.test(path));
}
export default () =>
function authorizeByJWT(req, res, next) {
const { path } = req;
if (apiProxyRE.test(path) && !isWhiteListedPath(path)) {
const cookie =
(req.signedCookies && req.signedCookies['jwt_access_token']) ||
(req.cookie && req.cookie['jwt_access_token']);
export default () => function authorizeByJWT(req, res, next) {
const { path } = req;
if (apiProxyRE.test(path) && !isWhiteListedPath(path)) {
const cookie = req.signedCookies && req.signedCookies['jwt_access_token'] ||
req.cookie && req.cookie['jwt_access_token'];
if (!cookie) {
throw wrapHandledError(
new Error('Access token is required for this request'),
{
type: 'info',
redirect: `${homeLocation}/signin`,
message: 'Access token is required for this request',
status: 403
}
);
}
let token;
try {
token = jwt.verify(cookie, process.env.JWT_SECRET);
} catch (err) {
throw wrapHandledError(
new Error(err.message),
{
if (!cookie) {
throw wrapHandledError(
new Error('Access token is required for this request'),
{
type: 'info',
redirect: `${homeLocation}/signin`,
message: 'Access token is required for this request',
status: 403
}
);
}
let token;
try {
token = jwt.verify(cookie, process.env.JWT_SECRET);
} catch (err) {
throw wrapHandledError(new Error(err.message), {
type: 'info',
redirect: `${homeLocation}/signin`,
message: 'Your access token is invalid',
status: 403
}
);
}
const { accessToken: {created, ttl, userId }} = token;
const valid = isBefore(Date.now(), Date.parse(created) + ttl);
if (!valid) {
throw wrapHandledError(
new Error('Access token is no longer vaild'),
{
});
}
const {
accessToken: { created, ttl, userId }
} = token;
const valid = isBefore(Date.now(), Date.parse(created) + ttl);
if (!valid) {
throw wrapHandledError(new Error('Access token is no longer vaild'), {
type: 'info',
redirect: `${homeLocation}/signin`,
message: 'Access token is no longer vaild',
status: 403
}
);
});
}
if (!req.user) {
const User = loopback.getModelByType('User');
return User.findById(userId)
.then(user => {
if (user) {
user.points = user.progressTimestamps.length;
req.user = user;
}
return;
})
.then(next)
.catch(next);
} else {
return next();
}
}
if (!req.user) {
const User = loopback.getModelByType('User');
return User.findById(userId)
.then(user => {
if (user) {
user.points = user.progressTimestamps.length;
req.user = user;
}
return;
})
.then(next)
.catch(next);
} else {
return next();
}
}
return next();
};
return next();
};