diff --git a/middlewares/index.js b/middlewares/index.js index f0e7ecb..17121c2 100644 --- a/middlewares/index.js +++ b/middlewares/index.js @@ -1,6 +1,4 @@ const HttpStatus = require('http-status-codes') -const { decodeTkn, getEvenToken, constants } = require('../utils') -const { idClaim } = constants const payloadValidation = require('./payloadValidation') const upload = require('./uploadValidation') @@ -40,42 +38,5 @@ exports.requireAdmin = (req, res, next) => { next() } -exports.requireAuth = () => { - const skipPaths = ['/auth/register', '/auth/login'] - - return (req, res, next) => { - if (skipPaths.includes(req.path)) { - return next() - } - - try { - const token = getEvenToken(req) - - if (token) { - const decoded = decodeTkn(token, req.config.JWT_KEY) - - if (!decoded[idClaim]) { - return res.status(HttpStatus.BAD_REQUEST).json({ - success: false, - message: 'You must have an idClaim in your token' - }) - } - - req.user = decoded - return next() - } - return res.status(HttpStatus.UNAUTHORIZED).json({ - success: false, - message: 'You must have an authorization token' - }) - } catch (error) { - return res.status(HttpStatus.UNAUTHORIZED).json({ - success: false, - message: error.message - }) - } - } -} - exports.payloadValidation = payloadValidation exports.upload = upload diff --git a/package-lock.json b/package-lock.json index b40f1db..e1c8608 100644 --- a/package-lock.json +++ b/package-lock.json @@ -427,7 +427,7 @@ "dependencies": { "resolve-from": { "version": "5.0.0", - "resolved": "https://nexus.ciitizen.com/repository/npm-group/resolve-from/-/resolve-from-5.0.0.tgz", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true } @@ -940,7 +940,7 @@ }, "@sendgrid/client": { "version": "6.5.5", - "resolved": "https://nexus.ciitizen.com/repository/npm-group/@sendgrid/client/-/client-6.5.5.tgz", + "resolved": "https://registry.npmjs.org/@sendgrid/client/-/client-6.5.5.tgz", "integrity": "sha512-Nbfgo94gbWSL8PIgJfuHoifyOJJepvV8NQkkglctAEfb1hyozKhrzE6v1kPG/z4j0RodaTtXD5LJj/t0q/VhLA==", "requires": { "@sendgrid/helpers": "^6.5.5", @@ -950,7 +950,7 @@ }, "@sendgrid/helpers": { "version": "6.5.5", - "resolved": "https://nexus.ciitizen.com/repository/npm-group/@sendgrid/helpers/-/helpers-6.5.5.tgz", + "resolved": "https://registry.npmjs.org/@sendgrid/helpers/-/helpers-6.5.5.tgz", "integrity": "sha512-uRFEanalfss5hDsuzVXZ1wm7i7eEXHh1py80piOXjobiQ+MxmtR19EU+gDSXZ+uMcEehBGhxnb7QDNN0q65qig==", "requires": { "chalk": "^2.0.1", @@ -959,7 +959,7 @@ }, "@sendgrid/mail": { "version": "6.5.5", - "resolved": "https://nexus.ciitizen.com/repository/npm-group/@sendgrid/mail/-/mail-6.5.5.tgz", + "resolved": "https://registry.npmjs.org/@sendgrid/mail/-/mail-6.5.5.tgz", "integrity": "sha512-DSu8oTPI0BJFH60jMOG9gM+oeNMoRALFmdAYg2PIXpL+Zbxd7L2GzQZtmf1jLy/8UBImkbB3D74TjiOBiLRK1w==", "requires": { "@sendgrid/client": "^6.5.5", @@ -1033,7 +1033,7 @@ }, "@types/caseless": { "version": "0.12.2", - "resolved": "https://nexus.ciitizen.com/repository/npm-group/@types/caseless/-/caseless-0.12.2.tgz", + "resolved": "https://registry.npmjs.org/@types/caseless/-/caseless-0.12.2.tgz", "integrity": "sha512-6ckxMjBBD8URvjB6J3NcnuAn5Pkl7t3TizAg+xdlzzQGSPSmBcXf8KoIH0ua/i+tio+ZRUHEXp0HEmvaR4kt0w==" }, "@types/color-name": { @@ -1076,10 +1076,18 @@ "@types/istanbul-lib-report": "*" } }, + "@types/jsonwebtoken": { + "version": "8.3.9", + "resolved": "https://registry.npmjs.org/@types/jsonwebtoken/-/jsonwebtoken-8.3.9.tgz", + "integrity": "sha512-00rI8GbOKuRtoYxltFSRTVUXCRLbuYwln2/nUMPtFU9JGS7if+nnmLjeoFGmqsNCmblPLAaeQ/zMLVsHr6T5bg==", + "requires": { + "@types/node": "*" + } + }, "@types/node": { - "version": "13.13.4", - "resolved": "https://registry.npmjs.org/@types/node/-/node-13.13.4.tgz", - "integrity": "sha512-x26ur3dSXgv5AwKS0lNfbjpCakGIduWU1DU91Zz58ONRWrIKGunmZBNv4P7N+e27sJkiGDsw/3fT4AtsqQBrBA==" + "version": "13.13.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-13.13.5.tgz", + "integrity": "sha512-3ySmiBYJPqgjiHA7oEaIo2Rzz0HrOZ7yrNO5HWyaE5q0lQ3BppDZ3N53Miz8bw2I7gh1/zir2MGVZBvpb1zq9g==" }, "@types/normalize-package-data": { "version": "2.4.0", @@ -1101,7 +1109,7 @@ }, "@types/request": { "version": "2.48.4", - "resolved": "https://nexus.ciitizen.com/repository/npm-group/@types/request/-/request-2.48.4.tgz", + "resolved": "https://registry.npmjs.org/@types/request/-/request-2.48.4.tgz", "integrity": "sha512-W1t1MTKYR8PxICH+A4HgEIPuAC3sbljoEVfyZbeFJJDbr30guDspJri2XOaM2E+Un7ZjrihaDi7cf6fPa2tbgw==", "requires": { "@types/caseless": "*", @@ -1118,7 +1126,7 @@ }, "@types/tough-cookie": { "version": "4.0.0", - "resolved": "https://nexus.ciitizen.com/repository/npm-group/@types/tough-cookie/-/tough-cookie-4.0.0.tgz", + "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.0.tgz", "integrity": "sha512-I99sngh224D0M7XgW1s120zxCt3VYQ3IQsuw3P3jbq5GG4yc79+ZjyKznyOGIQrflfylLgcfekeZW/vk0yng6A==" }, "@types/yargs": { @@ -1157,9 +1165,9 @@ } }, "acorn": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.1.tgz", - "integrity": "sha512-add7dgA5ppRPxCFJoAGfMDi7PIBXq1RtGo7BhbLaxwrXPOmw8gq48Y9ozT01hUKy9byMjlR20EJhu5zlkErEkg==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.2.0.tgz", + "integrity": "sha512-apwXVmYVpQ34m/i71vrApRrRKCWQnZZF1+npOD0WV5xZFfwWOmKGQ2RWlfdy9vWITsenisM8M0Qeq8agcFHNiQ==", "dev": true }, "acorn-globals": { @@ -1299,12 +1307,12 @@ }, "aproba": { "version": "1.2.0", - "resolved": "https://nexus.ciitizen.com/repository/npm-group/aproba/-/aproba-1.2.0.tgz", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" }, "are-we-there-yet": { "version": "1.1.5", - "resolved": "https://nexus.ciitizen.com/repository/npm-group/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", "requires": { "delegates": "^1.0.0", @@ -1368,7 +1376,7 @@ }, "asn1": { "version": "0.2.4", - "resolved": "https://nexus.ciitizen.com/repository/npm-group/asn1/-/asn1-0.2.4.tgz", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", "requires": { "safer-buffer": "~2.1.0" @@ -1376,7 +1384,7 @@ }, "assert-plus": { "version": "1.0.0", - "resolved": "https://nexus.ciitizen.com/repository/npm-group/assert-plus/-/assert-plus-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" }, "assign-symbols": { @@ -1401,7 +1409,7 @@ }, "asynckit": { "version": "0.4.0", - "resolved": "https://nexus.ciitizen.com/repository/npm-group/asynckit/-/asynckit-0.4.0.tgz", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" }, "atob": { @@ -1412,12 +1420,12 @@ }, "aws-sign2": { "version": "0.7.0", - "resolved": "https://nexus.ciitizen.com/repository/npm-group/aws-sign2/-/aws-sign2-0.7.0.tgz", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" }, "aws4": { "version": "1.9.1", - "resolved": "https://nexus.ciitizen.com/repository/npm-group/aws4/-/aws4-1.9.1.tgz", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.9.1.tgz", "integrity": "sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug==" }, "axios": { @@ -1610,7 +1618,7 @@ }, "bcrypt": { "version": "3.0.8", - "resolved": "https://nexus.ciitizen.com/repository/npm-group/bcrypt/-/bcrypt-3.0.8.tgz", + "resolved": "https://registry.npmjs.org/bcrypt/-/bcrypt-3.0.8.tgz", "integrity": "sha512-jKV6RvLhI36TQnPDvUFqBEnGX9c8dRRygKxCZu7E+MgLfKZbmmXL8a7/SFFOyHoPNX9nV81cKRC5tbQfvEQtpw==", "requires": { "nan": "2.14.0", @@ -1619,7 +1627,7 @@ }, "bcrypt-pbkdf": { "version": "1.0.2", - "resolved": "https://nexus.ciitizen.com/repository/npm-group/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", "requires": { "tweetnacl": "^0.14.3" @@ -1642,7 +1650,7 @@ }, "bluebird": { "version": "3.5.1", - "resolved": "https://nexus.ciitizen.com/repository/npm-group/bluebird/-/bluebird-3.5.1.tgz", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz", "integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==" }, "body-parser": { @@ -1839,7 +1847,7 @@ }, "bson": { "version": "1.1.4", - "resolved": "https://nexus.ciitizen.com/repository/npm-group/bson/-/bson-1.1.4.tgz", + "resolved": "https://registry.npmjs.org/bson/-/bson-1.1.4.tgz", "integrity": "sha512-S/yKGU1syOMzO86+dGpg2qGoDL0zvzcb262G+gqEy6TgP6rt6z6qxSFX/8X6vLC91P7G7C3nLs0+bvDzmvBA3Q==" }, "buffer-equal-constant-time": { @@ -1990,7 +1998,7 @@ }, "caseless": { "version": "0.12.0", - "resolved": "https://nexus.ciitizen.com/repository/npm-group/caseless/-/caseless-0.12.0.tgz", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" }, "chalk": { @@ -2040,7 +2048,7 @@ }, "chownr": { "version": "1.1.4", - "resolved": "https://nexus.ciitizen.com/repository/npm-group/chownr/-/chownr-1.1.4.tgz", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" }, "ci-info": { @@ -2164,7 +2172,7 @@ }, "code-point-at": { "version": "1.1.0", - "resolved": "https://nexus.ciitizen.com/repository/npm-group/code-point-at/-/code-point-at-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" }, "collect-v8-coverage": { @@ -2235,7 +2243,7 @@ }, "combined-stream": { "version": "1.0.8", - "resolved": "https://nexus.ciitizen.com/repository/npm-group/combined-stream/-/combined-stream-1.0.8.tgz", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", "requires": { "delayed-stream": "~1.0.0" @@ -2327,7 +2335,7 @@ }, "console-control-strings": { "version": "1.1.0", - "resolved": "https://nexus.ciitizen.com/repository/npm-group/console-control-strings/-/console-control-strings-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" }, "contains-path": { @@ -2447,7 +2455,7 @@ }, "cryptr": { "version": "6.0.2", - "resolved": "https://nexus.ciitizen.com/repository/npm-group/cryptr/-/cryptr-6.0.2.tgz", + "resolved": "https://registry.npmjs.org/cryptr/-/cryptr-6.0.2.tgz", "integrity": "sha512-1TRHI4bmuLIB8WgkH9eeYXzhEg1T4tonO4vVaMBKKde8Dre51J68nAgTVXTwMYXAf7+mV2gBCkm/9wksjSb2sA==" }, "css-select": { @@ -2491,7 +2499,7 @@ }, "dashdash": { "version": "1.14.1", - "resolved": "https://nexus.ciitizen.com/repository/npm-group/dashdash/-/dashdash-1.14.1.tgz", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "requires": { "assert-plus": "^1.0.0" @@ -2567,7 +2575,7 @@ }, "deepmerge": { "version": "4.2.2", - "resolved": "https://nexus.ciitizen.com/repository/npm-group/deepmerge/-/deepmerge-4.2.2.tgz", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==" }, "defer-to-connect": { @@ -2650,12 +2658,12 @@ }, "delayed-stream": { "version": "1.0.0", - "resolved": "https://nexus.ciitizen.com/repository/npm-group/delayed-stream/-/delayed-stream-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" }, "delegates": { "version": "1.0.0", - "resolved": "https://nexus.ciitizen.com/repository/npm-group/delegates/-/delegates-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" }, "denque": { @@ -2723,7 +2731,7 @@ }, "detect-libc": { "version": "1.0.3", - "resolved": "https://nexus.ciitizen.com/repository/npm-group/detect-libc/-/detect-libc-1.0.3.tgz", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=" }, "detect-newline": { @@ -2861,7 +2869,7 @@ }, "ecc-jsbn": { "version": "0.1.2", - "resolved": "https://nexus.ciitizen.com/repository/npm-group/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", "requires": { "jsbn": "~0.1.0", @@ -2938,7 +2946,7 @@ }, "es-abstract": { "version": "1.17.5", - "resolved": "https://nexus.ciitizen.com/repository/npm-group/es-abstract/-/es-abstract-1.17.5.tgz", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz", "integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==", "dev": true, "requires": { @@ -3153,7 +3161,7 @@ }, "eslint-module-utils": { "version": "2.6.0", - "resolved": "https://nexus.ciitizen.com/repository/npm-group/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz", "integrity": "sha512-6j9xxegbqe8/kZY8cYpcp0xhbK0EgJlg3g9mib3/miLaExuuwc3n5UEfSnU6hWMbT0FAYVvDbL9RrRgpUeQIvA==", "dev": true, "requires": { @@ -3696,7 +3704,7 @@ }, "extend": { "version": "3.0.2", - "resolved": "https://nexus.ciitizen.com/repository/npm-group/extend/-/extend-3.0.2.tgz", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" }, "extend-shallow": { @@ -3798,7 +3806,7 @@ }, "extsprintf": { "version": "1.3.0", - "resolved": "https://nexus.ciitizen.com/repository/npm-group/extsprintf/-/extsprintf-1.3.0.tgz", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" }, "fast-deep-equal": { @@ -3967,12 +3975,12 @@ }, "forever-agent": { "version": "0.6.1", - "resolved": "https://nexus.ciitizen.com/repository/npm-group/forever-agent/-/forever-agent-0.6.1.tgz", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" }, "form-data": { "version": "2.5.1", - "resolved": "https://nexus.ciitizen.com/repository/npm-group/form-data/-/form-data-2.5.1.tgz", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==", "requires": { "asynckit": "^0.4.0", @@ -4012,7 +4020,7 @@ }, "fs-minipass": { "version": "1.2.7", - "resolved": "https://nexus.ciitizen.com/repository/npm-group/fs-minipass/-/fs-minipass-1.2.7.tgz", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", "requires": { "minipass": "^2.6.0" @@ -4044,7 +4052,7 @@ }, "gauge": { "version": "2.7.4", - "resolved": "https://nexus.ciitizen.com/repository/npm-group/gauge/-/gauge-2.7.4.tgz", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", "requires": { "aproba": "^1.0.3", @@ -4092,7 +4100,7 @@ }, "getpass": { "version": "0.1.7", - "resolved": "https://nexus.ciitizen.com/repository/npm-group/getpass/-/getpass-0.1.7.tgz", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "requires": { "assert-plus": "^1.0.0" @@ -4169,12 +4177,12 @@ }, "har-schema": { "version": "2.0.0", - "resolved": "https://nexus.ciitizen.com/repository/npm-group/har-schema/-/har-schema-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" }, "har-validator": { "version": "5.1.3", - "resolved": "https://nexus.ciitizen.com/repository/npm-group/har-validator/-/har-validator-5.1.3.tgz", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", "requires": { "ajv": "^6.5.5", @@ -4203,7 +4211,7 @@ }, "has-unicode": { "version": "2.0.1", - "resolved": "https://nexus.ciitizen.com/repository/npm-group/has-unicode/-/has-unicode-2.0.1.tgz", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" }, "has-value": { @@ -4272,7 +4280,7 @@ }, "helmet": { "version": "3.22.0", - "resolved": "https://nexus.ciitizen.com/repository/npm-group/helmet/-/helmet-3.22.0.tgz", + "resolved": "https://registry.npmjs.org/helmet/-/helmet-3.22.0.tgz", "integrity": "sha512-Xrqicn2nm1ZIUxP3YGuTBmbDL04neKsIT583Sjh0FkiwKDXYCMUqGqC88w3NUvVXtA75JyR2Jn6jw6ZEMOD+ZA==", "requires": { "depd": "2.0.0", @@ -4306,7 +4314,7 @@ }, "helmet-csp": { "version": "2.10.0", - "resolved": "https://nexus.ciitizen.com/repository/npm-group/helmet-csp/-/helmet-csp-2.10.0.tgz", + "resolved": "https://registry.npmjs.org/helmet-csp/-/helmet-csp-2.10.0.tgz", "integrity": "sha512-Rz953ZNEFk8sT2XvewXkYN0Ho4GEZdjAZy4stjiEQV3eN7GDxg1QKmYggH7otDyIA7uGA6XnUMVSgeJwbR5X+w==", "requires": { "bowser": "2.9.0", @@ -4322,7 +4330,7 @@ }, "hosted-git-info": { "version": "2.8.8", - "resolved": "https://nexus.ciitizen.com/repository/npm-group/hosted-git-info/-/hosted-git-info-2.8.8.tgz", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", "dev": true }, @@ -4413,7 +4421,7 @@ }, "http-signature": { "version": "1.2.0", - "resolved": "https://nexus.ciitizen.com/repository/npm-group/http-signature/-/http-signature-1.2.0.tgz", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", "requires": { "assert-plus": "^1.0.0", @@ -4570,7 +4578,7 @@ }, "ignore-walk": { "version": "3.0.3", - "resolved": "https://nexus.ciitizen.com/repository/npm-group/ignore-walk/-/ignore-walk-3.0.3.tgz", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.3.tgz", "integrity": "sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==", "requires": { "minimatch": "^3.0.4" @@ -4857,6 +4865,13 @@ "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", "dev": true }, + "is-docker": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.0.0.tgz", + "integrity": "sha512-pJEdRugimx4fBMra5z2/5iRdZ63OhYV0vr0Dwm5+xtW4D1FvRkB8hamMIhnWfyJeDdyr/aa7BDyNbtG38VxgoQ==", + "dev": true, + "optional": true + }, "is-extendable": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", @@ -4966,7 +4981,7 @@ }, "is-typedarray": { "version": "1.0.0", - "resolved": "https://nexus.ciitizen.com/repository/npm-group/is-typedarray/-/is-typedarray-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" }, "is-windows": { @@ -4976,11 +4991,14 @@ "dev": true }, "is-wsl": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.1.1.tgz", - "integrity": "sha512-umZHcSrwlDHo2TGMXv0DZ8dIUGunZ2Iv68YZnrmCiBPkZ4aaOhtv7pXJKeki9k3qJ3RJr0cDyitcl5wEH3AYog==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", "dev": true, - "optional": true + "optional": true, + "requires": { + "is-docker": "^2.0.0" + } }, "is-yarn-global": { "version": "0.3.0", @@ -5007,7 +5025,7 @@ }, "isstream": { "version": "0.1.2", - "resolved": "https://nexus.ciitizen.com/repository/npm-group/isstream/-/isstream-0.1.2.tgz", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" }, "istanbul-lib-coverage": { @@ -6406,7 +6424,7 @@ }, "jsbn": { "version": "0.1.1", - "resolved": "https://nexus.ciitizen.com/repository/npm-group/jsbn/-/jsbn-0.1.1.tgz", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" }, "jsdom": { @@ -6482,7 +6500,7 @@ }, "json-schema": { "version": "0.2.3", - "resolved": "https://nexus.ciitizen.com/repository/npm-group/json-schema/-/json-schema-0.2.3.tgz", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" }, "json-schema-traverse": { @@ -6498,7 +6516,7 @@ }, "json-stringify-safe": { "version": "5.0.1", - "resolved": "https://nexus.ciitizen.com/repository/npm-group/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" }, "json5": { @@ -6536,7 +6554,7 @@ }, "jsprim": { "version": "1.4.1", - "resolved": "https://nexus.ciitizen.com/repository/npm-group/jsprim/-/jsprim-1.4.1.tgz", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", "requires": { "assert-plus": "1.0.0", @@ -6574,6 +6592,16 @@ "safe-buffer": "^5.0.1" } }, + "jwt-auth-middleware": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/jwt-auth-middleware/-/jwt-auth-middleware-1.0.5.tgz", + "integrity": "sha512-IXYnnaFLzWMD4BRDdlurAS933k36wfbCHSc3/905jNbynTxIRsTR36dNdnqMcNqTYnoBc5c0Tq0mM6N0zOv7OA==", + "requires": { + "@types/jsonwebtoken": "^8.3.9", + "http-status-codes": "^1.4.0", + "jsonwebtoken": "^8.5.1" + } + }, "kareem": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/kareem/-/kareem-2.3.1.tgz", @@ -6889,7 +6917,7 @@ }, "minipass": { "version": "2.9.0", - "resolved": "https://nexus.ciitizen.com/repository/npm-group/minipass/-/minipass-2.9.0.tgz", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", "requires": { "safe-buffer": "^5.1.2", @@ -6898,7 +6926,7 @@ }, "minizlib": { "version": "1.3.3", - "resolved": "https://nexus.ciitizen.com/repository/npm-group/minizlib/-/minizlib-1.3.3.tgz", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz", "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", "requires": { "minipass": "^2.9.0" @@ -6947,9 +6975,9 @@ } }, "mongoose": { - "version": "5.9.11", - "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-5.9.11.tgz", - "integrity": "sha512-xsPquUEBfJQ/ufT7SI4+qWHml1+HTNra5jQS0RsgCXIMMltCWxn3jeugLiPbyFkKZokMZ+tPy5yEDtLZu5gHeg==", + "version": "5.9.13", + "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-5.9.13.tgz", + "integrity": "sha512-MsFdJAaCTVbDA3gYskUEpUN1kThL7sp4zh8N9rGt0+9vYMn28q92NLK90vGssM9qjOGWp8HqLeT1fBgfMZDnKA==", "requires": { "bson": "^1.1.4", "kareem": "2.3.1", @@ -7033,7 +7061,7 @@ }, "nan": { "version": "2.14.0", - "resolved": "https://nexus.ciitizen.com/repository/npm-group/nan/-/nan-2.14.0.tgz", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==" }, "nanomatch": { @@ -7063,7 +7091,7 @@ }, "needle": { "version": "2.4.1", - "resolved": "https://nexus.ciitizen.com/repository/npm-group/needle/-/needle-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/needle/-/needle-2.4.1.tgz", "integrity": "sha512-x/gi6ijr4B7fwl6WYL9FwlCvRQKGlUNvnceho8wxkwXqN8jvVmmmATTmZPRRG7b/yC1eode26C2HO9jl78Du9g==", "requires": { "debug": "^3.2.6", @@ -7073,7 +7101,7 @@ "dependencies": { "debug": { "version": "3.2.6", - "resolved": "https://nexus.ciitizen.com/repository/npm-group/debug/-/debug-3.2.6.tgz", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", "requires": { "ms": "^2.1.1" @@ -7081,7 +7109,7 @@ }, "ms": { "version": "2.1.2", - "resolved": "https://nexus.ciitizen.com/repository/npm-group/ms/-/ms-2.1.2.tgz", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" } } @@ -7139,7 +7167,7 @@ }, "node-pre-gyp": { "version": "0.14.0", - "resolved": "https://nexus.ciitizen.com/repository/npm-group/node-pre-gyp/-/node-pre-gyp-0.14.0.tgz", + "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.14.0.tgz", "integrity": "sha512-+CvDC7ZttU/sSt9rFjix/P05iS43qHCOOGzcr3Ry99bXG7VX953+vFyEuph/tfqoYu8dttBkE86JSKBO2OzcxA==", "requires": { "detect-libc": "^1.0.2", @@ -7233,7 +7261,7 @@ }, "npm-bundled": { "version": "1.1.1", - "resolved": "https://nexus.ciitizen.com/repository/npm-group/npm-bundled/-/npm-bundled-1.1.1.tgz", + "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.1.tgz", "integrity": "sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA==", "requires": { "npm-normalize-package-bin": "^1.0.1" @@ -7241,12 +7269,12 @@ }, "npm-normalize-package-bin": { "version": "1.0.1", - "resolved": "https://nexus.ciitizen.com/repository/npm-group/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz", "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==" }, "npm-packlist": { "version": "1.4.8", - "resolved": "https://nexus.ciitizen.com/repository/npm-group/npm-packlist/-/npm-packlist-1.4.8.tgz", + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.8.tgz", "integrity": "sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A==", "requires": { "ignore-walk": "^3.0.1", @@ -7265,7 +7293,7 @@ }, "npmlog": { "version": "4.1.2", - "resolved": "https://nexus.ciitizen.com/repository/npm-group/npmlog/-/npmlog-4.1.2.tgz", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", "requires": { "are-we-there-yet": "~1.1.2", @@ -7284,7 +7312,7 @@ }, "number-is-nan": { "version": "1.0.1", - "resolved": "https://nexus.ciitizen.com/repository/npm-group/number-is-nan/-/number-is-nan-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" }, "nwsapi": { @@ -7295,7 +7323,7 @@ }, "oauth-sign": { "version": "0.9.0", - "resolved": "https://nexus.ciitizen.com/repository/npm-group/oauth-sign/-/oauth-sign-0.9.0.tgz", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" }, "object-assign": { @@ -7469,7 +7497,7 @@ }, "os-homedir": { "version": "1.0.2", - "resolved": "https://nexus.ciitizen.com/repository/npm-group/os-homedir/-/os-homedir-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" }, "os-tmpdir": { @@ -7479,7 +7507,7 @@ }, "osenv": { "version": "0.1.5", - "resolved": "https://nexus.ciitizen.com/repository/npm-group/osenv/-/osenv-0.1.5.tgz", + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", "requires": { "os-homedir": "^1.0.0", @@ -7630,7 +7658,7 @@ }, "performance-now": { "version": "2.1.0", - "resolved": "https://nexus.ciitizen.com/repository/npm-group/performance-now/-/performance-now-2.1.0.tgz", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" }, "picomatch": { @@ -7872,7 +7900,7 @@ }, "psl": { "version": "1.8.0", - "resolved": "https://nexus.ciitizen.com/repository/npm-group/psl/-/psl-1.8.0.tgz", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==" }, "pstree.remy": { @@ -7912,7 +7940,7 @@ }, "qs": { "version": "6.5.2", - "resolved": "https://nexus.ciitizen.com/repository/npm-group/qs/-/qs-6.5.2.tgz", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" }, "range-parser": { @@ -8097,7 +8125,7 @@ }, "request": { "version": "2.88.2", - "resolved": "https://nexus.ciitizen.com/repository/npm-group/request/-/request-2.88.2.tgz", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", "requires": { "aws-sign2": "~0.7.0", @@ -8124,7 +8152,7 @@ "dependencies": { "form-data": { "version": "2.3.3", - "resolved": "https://nexus.ciitizen.com/repository/npm-group/form-data/-/form-data-2.3.3.tgz", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", "requires": { "asynckit": "^0.4.0", @@ -8201,7 +8229,7 @@ "dependencies": { "resolve-from": { "version": "5.0.0", - "resolved": "https://nexus.ciitizen.com/repository/npm-group/resolve-from/-/resolve-from-5.0.0.tgz", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true } @@ -8455,7 +8483,7 @@ }, "sax": { "version": "1.2.4", - "resolved": "https://nexus.ciitizen.com/repository/npm-group/sax/-/sax-1.2.4.tgz", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" }, "saxes": { @@ -8880,7 +8908,7 @@ }, "sshpk": { "version": "1.16.1", - "resolved": "https://nexus.ciitizen.com/repository/npm-group/sshpk/-/sshpk-1.16.1.tgz", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", "requires": { "asn1": "~0.2.3", @@ -8907,7 +8935,7 @@ }, "standard": { "version": "14.3.3", - "resolved": "https://nexus.ciitizen.com/repository/npm-group/standard/-/standard-14.3.3.tgz", + "resolved": "https://registry.npmjs.org/standard/-/standard-14.3.3.tgz", "integrity": "sha512-HBEAD5eVXrr2o/KZ3kU8Wwaxw90wzoq4dOQe6vlRnPoQ6stn4LCLRLBBDp0CjH/aOTL9bDZJbRUOZcBaBnNJ0A==", "dev": true, "requires": { @@ -8923,14 +8951,14 @@ } }, "standard-engine": { - "version": "12.0.0", - "resolved": "https://registry.npmjs.org/standard-engine/-/standard-engine-12.0.0.tgz", - "integrity": "sha512-gJIIRb0LpL7AHyGbN9+hJ4UJns37lxmNTnMGRLC8CFrzQ+oB/K60IQjKNgPBCB2VP60Ypm6f8DFXvhVWdBOO+g==", + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/standard-engine/-/standard-engine-12.0.1.tgz", + "integrity": "sha512-XtR9NfoTqvHkWQCwL1aLMwXw1Qxy5s4rdSIqetgBNw+8faNbQ+BbB49hPhKXjxxfC4yg+fpH0lx/T5fuUbpDcQ==", "dev": true, "requires": { - "deglob": "^4.0.0", + "deglob": "^4.0.1", "get-stdin": "^7.0.0", - "minimist": "^1.1.0", + "minimist": "^1.2.5", "pkg-conf": "^3.1.0" } }, @@ -9020,7 +9048,7 @@ }, "string.prototype.trimleft": { "version": "2.1.2", - "resolved": "https://nexus.ciitizen.com/repository/npm-group/string.prototype.trimleft/-/string.prototype.trimleft-2.1.2.tgz", + "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.2.tgz", "integrity": "sha512-gCA0tza1JBvqr3bfAIFJGqfdRTyPae82+KTnm3coDXkZN9wnuW3HjGgN386D7hfv5CHQYCI022/rJPVlqXyHSw==", "dev": true, "requires": { @@ -9031,7 +9059,7 @@ }, "string.prototype.trimright": { "version": "2.1.2", - "resolved": "https://nexus.ciitizen.com/repository/npm-group/string.prototype.trimright/-/string.prototype.trimright-2.1.2.tgz", + "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.2.tgz", "integrity": "sha512-ZNRQ7sY3KroTaYjRS6EbNiiHrOkjihL9aQE/8gfQ4DtAC/aEBRHFJa44OmoWxGGqXuJlfKkZW4WcXErGr+9ZFg==", "dev": true, "requires": { @@ -9219,7 +9247,7 @@ }, "tar": { "version": "4.4.13", - "resolved": "https://nexus.ciitizen.com/repository/npm-group/tar/-/tar-4.4.13.tgz", + "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.13.tgz", "integrity": "sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==", "requires": { "chownr": "^1.1.1", @@ -9376,7 +9404,7 @@ }, "tough-cookie": { "version": "2.5.0", - "resolved": "https://nexus.ciitizen.com/repository/npm-group/tough-cookie/-/tough-cookie-2.5.0.tgz", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", "requires": { "psl": "^1.1.28", @@ -9398,14 +9426,14 @@ "integrity": "sha512-XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw==" }, "tslib": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.11.1.tgz", - "integrity": "sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA==", + "version": "1.11.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.11.2.tgz", + "integrity": "sha512-tTSkux6IGPnUGUd1XAZHcpu85MOkIl5zX49pO+jfsie3eP0B6pyhOlLXm3cAC6T7s+euSDDUUV+Acop5WmtkVg==", "dev": true }, "tunnel-agent": { "version": "0.6.0", - "resolved": "https://nexus.ciitizen.com/repository/npm-group/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", "requires": { "safe-buffer": "^5.0.1" @@ -9413,7 +9441,7 @@ }, "tweetnacl": { "version": "0.14.5", - "resolved": "https://nexus.ciitizen.com/repository/npm-group/tweetnacl/-/tweetnacl-0.14.5.tgz", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" }, "type-check": { @@ -9666,7 +9694,7 @@ }, "uuid": { "version": "3.4.0", - "resolved": "https://nexus.ciitizen.com/repository/npm-group/uuid/-/uuid-3.4.0.tgz", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" }, "v8-compile-cache": { @@ -9676,9 +9704,9 @@ "dev": true }, "v8-to-istanbul": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-4.1.3.tgz", - "integrity": "sha512-sAjOC+Kki6aJVbUOXJbcR0MnbfjvBzwKZazEJymA2IX49uoOdEdk+4fBq5cXgYgiyKtAyrrJNtBZdOeDIF+Fng==", + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-4.1.4.tgz", + "integrity": "sha512-Rw6vJHj1mbdK8edjR7+zuJrpDtKIgNdAvTSAcpYfgMIw+u2dPDntD3dgN4XQFLU2/fvFQdzj+EeSGfd/jnY5fQ==", "dev": true, "requires": { "@types/istanbul-lib-coverage": "^2.0.1", @@ -9711,7 +9739,7 @@ }, "verror": { "version": "1.10.0", - "resolved": "https://nexus.ciitizen.com/repository/npm-group/verror/-/verror-1.10.0.tgz", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "requires": { "assert-plus": "^1.0.0", @@ -9819,7 +9847,7 @@ }, "wide-align": { "version": "1.1.3", - "resolved": "https://nexus.ciitizen.com/repository/npm-group/wide-align/-/wide-align-1.1.3.tgz", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", "requires": { "string-width": "^1.0.2 || 2" diff --git a/package.json b/package.json index 0fb0f8d..6b36a35 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,7 @@ "prod:default": "NODE_ENV=prod node index.js", "depcheck": "depcheck . --ignores=eslint", "lint": "standard", - "test": "jest tests/schedule", + "test": "jest", "test-coverage": "jest --coverage" }, "repository": { @@ -47,6 +47,7 @@ "helmet": "^3.22.0", "http-status-codes": "^1.4.0", "jsonwebtoken": "^8.5.1", + "jwt-auth-middleware": "^1.0.5", "mongoose": "^5.9.9", "multer": "^1.4.2", "winston": "^3.2.1" diff --git a/routes/index.js b/routes/index.js index 7286c2e..faa6abf 100644 --- a/routes/index.js +++ b/routes/index.js @@ -5,8 +5,9 @@ const users = require('./users') const auth = require('./auth') const schedule = require('./schedule') const secrets = require('./secrets') - -const { requireAuth } = require('../middlewares') +const { requireAuth } = require('jwt-auth-middleware') +const Cryptr = require('cryptr') +const db = require('../models') router.get('/', (req, res) => { return res.status(HttpStatus.OK).json({ @@ -16,7 +17,11 @@ router.get('/', (req, res) => { router.use('/auth', auth) -router.use(requireAuth()) +db.Secret.findOne({ env: process.env.NODE_ENV, key: 'JWT_KEY' }, (err, secret) => { + if (err) return console.log(err) + const key = new Cryptr(process.env.SECRET_KEY).decrypt(secret.value) + router.use(requireAuth(key)) +}) router.use('/users', users) router.use('/schedule', schedule)