From 1fbe17e23d3b656bdb956d8b62f02b3d17fc327c Mon Sep 17 00:00:00 2001 From: tushar goel Date: Mon, 11 Mar 2019 00:48:34 +0530 Subject: [PATCH 01/28] coverage report added Signed-off-by: tushar goel --- config/credential.js | 2 +- package-lock.json | 1498 +++++++++++++++++++++++++++++++++++--- package.json | 2 + tests/controller_test.js | 2 +- 4 files changed, 1381 insertions(+), 123 deletions(-) diff --git a/config/credential.js b/config/credential.js index 017a4581..de5f6bf3 100644 --- a/config/credential.js +++ b/config/credential.js @@ -3,7 +3,7 @@ module.exports = { clientID: "192695093229-kf95jtdv1jge25d86ak99e68dkrpu33o.apps.googleusercontent.com", clientSecret: "rXvfxBahDlJF1ORk7y660XM8" }, - database: 'YOUR MONGODB URL', + database: 'mongodb://localhost:27017/donut1', github: { clientID: 'c9afdb238ed98b213912', clientSecret: '3031efea8badea1381da682fd5f21e88e5a15d2f' diff --git a/package-lock.json b/package-lock.json index 5da145f1..7a3820d1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4,6 +4,152 @@ "lockfileVersion": 1, "requires": true, "dependencies": { + "@babel/code-frame": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", + "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", + "dev": true, + "requires": { + "@babel/highlight": "^7.0.0" + } + }, + "@babel/generator": { + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.3.4.tgz", + "integrity": "sha512-8EXhHRFqlVVWXPezBW5keTiQi/rJMQTg/Y9uVCEZ0CAF3PKtCCaVRnp64Ii1ujhkoDhhF1fVsImoN4yJ2uz4Wg==", + "dev": true, + "requires": { + "@babel/types": "^7.3.4", + "jsesc": "^2.5.1", + "lodash": "^4.17.11", + "source-map": "^0.5.0", + "trim-right": "^1.0.1" + }, + "dependencies": { + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + } + } + }, + "@babel/helper-function-name": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", + "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.0.0", + "@babel/template": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", + "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", + "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@babel/highlight": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", + "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", + "dev": true, + "requires": { + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.3.4.tgz", + "integrity": "sha512-tXZCqWtlOOP4wgCp6RjRvLmfuhnqTLy9VHwRochJBCP2nDm27JnnuFEnXFASVyQNHk36jD1tAammsCEEqgscIQ==", + "dev": true + }, + "@babel/template": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", + "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.2.2", + "@babel/types": "^7.2.2" + } + }, + "@babel/traverse": { + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.3.4.tgz", + "integrity": "sha512-TvTHKp6471OYEcE/91uWmhR6PrrYywQntCHSaZ8CM8Vmp+pjAusal4nGB2WCCQd0rvI7nOMKn9GnbcvTUz3/ZQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/generator": "^7.3.4", + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.0.0", + "@babel/parser": "^7.3.4", + "@babel/types": "^7.3.4", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.11" + }, + "dependencies": { + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true + } + } + }, + "@babel/types": { + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.3.4.tgz", + "integrity": "sha512-WEkp8MsLftM7O/ty580wAmZzN1nDmCACc5+jFzUt+GUFNNIi3LdRlueYz0YIlmJhlZx1QYDMZL5vdWCL0fNjFQ==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.11", + "to-fast-properties": "^2.0.0" + }, + "dependencies": { + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + } + } + }, "abbrev": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", @@ -959,6 +1105,12 @@ "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", "dev": true }, + "esutils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "dev": true + }, "etag": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", @@ -1374,7 +1526,8 @@ }, "ansi-regex": { "version": "2.1.1", - "bundled": true + "bundled": true, + "optional": true }, "aproba": { "version": "1.2.0", @@ -1392,11 +1545,13 @@ }, "balanced-match": { "version": "1.0.0", - "bundled": true + "bundled": true, + "optional": true }, "brace-expansion": { "version": "1.1.11", "bundled": true, + "optional": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -1409,15 +1564,18 @@ }, "code-point-at": { "version": "1.1.0", - "bundled": true + "bundled": true, + "optional": true }, "concat-map": { "version": "0.0.1", - "bundled": true + "bundled": true, + "optional": true }, "console-control-strings": { "version": "1.1.0", - "bundled": true + "bundled": true, + "optional": true }, "core-util-is": { "version": "1.0.2", @@ -1520,7 +1678,8 @@ }, "inherits": { "version": "2.0.3", - "bundled": true + "bundled": true, + "optional": true }, "ini": { "version": "1.3.5", @@ -1530,6 +1689,7 @@ "is-fullwidth-code-point": { "version": "1.0.0", "bundled": true, + "optional": true, "requires": { "number-is-nan": "^1.0.0" } @@ -1542,17 +1702,20 @@ "minimatch": { "version": "3.0.4", "bundled": true, + "optional": true, "requires": { "brace-expansion": "^1.1.7" } }, "minimist": { "version": "0.0.8", - "bundled": true + "bundled": true, + "optional": true }, "minipass": { "version": "2.2.4", "bundled": true, + "optional": true, "requires": { "safe-buffer": "^5.1.1", "yallist": "^3.0.0" @@ -1569,6 +1732,7 @@ "mkdirp": { "version": "0.5.1", "bundled": true, + "optional": true, "requires": { "minimist": "0.0.8" } @@ -1641,7 +1805,8 @@ }, "number-is-nan": { "version": "1.0.1", - "bundled": true + "bundled": true, + "optional": true }, "object-assign": { "version": "4.1.1", @@ -1651,6 +1816,7 @@ "once": { "version": "1.4.0", "bundled": true, + "optional": true, "requires": { "wrappy": "1" } @@ -1726,7 +1892,8 @@ }, "safe-buffer": { "version": "5.1.1", - "bundled": true + "bundled": true, + "optional": true }, "safer-buffer": { "version": "2.1.2", @@ -1756,6 +1923,7 @@ "string-width": { "version": "1.0.2", "bundled": true, + "optional": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -1773,6 +1941,7 @@ "strip-ansi": { "version": "3.0.1", "bundled": true, + "optional": true, "requires": { "ansi-regex": "^2.0.0" } @@ -1811,11 +1980,13 @@ }, "wrappy": { "version": "1.0.2", - "bundled": true + "bundled": true, + "optional": true }, "yallist": { "version": "3.0.2", - "bundled": true + "bundled": true, + "optional": true } } }, @@ -1926,6 +2097,12 @@ "which": "^1.2.14" } }, + "globals": { + "version": "11.11.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.11.0.tgz", + "integrity": "sha512-WHq43gS+6ufNOEqlrDBxVEbb8ntfXrfAUU2ZOpCxrBdGKW3gyv8mCxAfIBD0DroPKGrJ2eSsXsLtY9MPntsyTw==", + "dev": true + }, "got": { "version": "6.7.1", "resolved": "https://registry.npmjs.org/got/-/got-6.7.1.tgz", @@ -2358,6 +2535,33 @@ "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" }, + "istanbul-lib-coverage": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz", + "integrity": "sha512-dKWuzRGCs4G+67VfW9pBFFz2Jpi4vSp/k7zBcJ888ofV5Mi1g5CUML5GvMvV6u9Cjybftu+E8Cgp+k0dI1E5lw==", + "dev": true + }, + "istanbul-lib-instrument": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.1.0.tgz", + "integrity": "sha512-ooVllVGT38HIk8MxDj/OIHXSYvH+1tq/Vb38s8ixt9GoJadXska4WkGY+0wkmtYCZNYtaARniH/DixUGGLZ0uA==", + "dev": true, + "requires": { + "@babel/generator": "^7.0.0", + "@babel/parser": "^7.0.0", + "@babel/template": "^7.0.0", + "@babel/traverse": "^7.0.0", + "@babel/types": "^7.0.0", + "istanbul-lib-coverage": "^2.0.3", + "semver": "^5.5.0" + } + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, "js-yaml": { "version": "3.12.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz", @@ -2373,6 +2577,12 @@ "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + }, "json-schema": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", @@ -2899,124 +3109,1158 @@ "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", "dev": true }, - "oauth": { - "version": "0.9.15", - "resolved": "https://registry.npmjs.org/oauth/-/oauth-0.9.15.tgz", - "integrity": "sha1-vR/vr2hslrdUda7VGWQS/2DPucE=" - }, - "oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" - }, - "object-component": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz", - "integrity": "sha1-8MaapQ78lbhmwYb0AKM3acsvEpE=" - }, - "object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "nyc": { + "version": "13.3.0", + "resolved": "https://registry.npmjs.org/nyc/-/nyc-13.3.0.tgz", + "integrity": "sha512-P+FwIuro2aFG6B0Esd9ZDWUd51uZrAEoGutqZxzrVmYl3qSfkLgcQpBPBjtDFsUQLFY1dvTQJPOyeqr8S9GF8w==", + "dev": true, "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" + "archy": "^1.0.0", + "arrify": "^1.0.1", + "caching-transform": "^3.0.1", + "convert-source-map": "^1.6.0", + "find-cache-dir": "^2.0.0", + "find-up": "^3.0.0", + "foreground-child": "^1.5.6", + "glob": "^7.1.3", + "istanbul-lib-coverage": "^2.0.3", + "istanbul-lib-hook": "^2.0.3", + "istanbul-lib-instrument": "^3.1.0", + "istanbul-lib-report": "^2.0.4", + "istanbul-lib-source-maps": "^3.0.2", + "istanbul-reports": "^2.1.1", + "make-dir": "^1.3.0", + "merge-source-map": "^1.1.0", + "resolve-from": "^4.0.0", + "rimraf": "^2.6.3", + "signal-exit": "^3.0.2", + "spawn-wrap": "^1.4.2", + "test-exclude": "^5.1.0", + "uuid": "^3.3.2", + "yargs": "^12.0.5", + "yargs-parser": "^11.1.1" }, "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "ansi-regex": { + "version": "3.0.0", + "bundled": true, + "dev": true + }, + "append-transform": { + "version": "1.0.0", + "bundled": true, + "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "default-require-extensions": "^2.0.0" } }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "archy": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "arrify": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "async": { + "version": "2.6.2", + "bundled": true, + "dev": true, "requires": { - "is-buffer": "^1.1.5" + "lodash": "^4.17.11" } - } - } - }, - "object-keys": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.0.tgz", - "integrity": "sha512-6OO5X1+2tYkNyNEx6TsCxEqFfRWaqx6EtMiSbGrw8Ob8v9Ne+Hl8rBAgLBZn5wjEz3s/s6U1WXFUFOcxxAwUpg==", - "dev": true - }, - "object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", - "requires": { - "isobject": "^3.0.0" - } - }, - "object.assign": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", - "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", - "dev": true, - "requires": { - "define-properties": "^1.1.2", - "function-bind": "^1.1.1", - "has-symbols": "^1.0.0", - "object-keys": "^1.0.11" - } - }, - "object.getownpropertydescriptors": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz", - "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=", - "dev": true, - "requires": { - "define-properties": "^1.1.2", - "es-abstract": "^1.5.1" - } - }, - "object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", - "requires": { - "isobject": "^3.0.1" - } - }, - "on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", - "requires": { - "ee-first": "1.1.1" - } - }, - "on-headers": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz", - "integrity": "sha1-ko9dD0cNSTQmUepnlLCFfBAGk/c=" - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, - "requires": { - "wrappy": "1" - } - }, - "os-locale": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", - "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", - "dev": true, - "requires": { - "execa": "^1.0.0", - "lcid": "^2.0.0", - "mem": "^4.0.0" + }, + "balanced-match": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "bundled": true, + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "caching-transform": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "requires": { + "hasha": "^3.0.0", + "make-dir": "^1.3.0", + "package-hash": "^3.0.0", + "write-file-atomic": "^2.3.0" + } + }, + "camelcase": { + "version": "5.0.0", + "bundled": true, + "dev": true + }, + "cliui": { + "version": "4.1.0", + "bundled": true, + "dev": true, + "requires": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" + } + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "commander": { + "version": "2.17.1", + "bundled": true, + "dev": true, + "optional": true + }, + "commondir": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "bundled": true, + "dev": true + }, + "convert-source-map": { + "version": "1.6.0", + "bundled": true, + "dev": true, + "requires": { + "safe-buffer": "~5.1.1" + } + }, + "cross-spawn": { + "version": "4.0.2", + "bundled": true, + "dev": true, + "requires": { + "lru-cache": "^4.0.1", + "which": "^1.2.9" + } + }, + "debug": { + "version": "4.1.1", + "bundled": true, + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "decamelize": { + "version": "1.2.0", + "bundled": true, + "dev": true + }, + "default-require-extensions": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "requires": { + "strip-bom": "^3.0.0" + } + }, + "end-of-stream": { + "version": "1.4.1", + "bundled": true, + "dev": true, + "requires": { + "once": "^1.4.0" + } + }, + "error-ex": { + "version": "1.3.2", + "bundled": true, + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es6-error": { + "version": "4.1.1", + "bundled": true, + "dev": true + }, + "execa": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "6.0.5", + "bundled": true, + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + } + } + }, + "find-cache-dir": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^1.0.0", + "pkg-dir": "^3.0.0" + } + }, + "find-up": { + "version": "3.0.0", + "bundled": true, + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "foreground-child": { + "version": "1.5.6", + "bundled": true, + "dev": true, + "requires": { + "cross-spawn": "^4", + "signal-exit": "^3.0.0" + } + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "get-caller-file": { + "version": "1.0.3", + "bundled": true, + "dev": true + }, + "get-stream": { + "version": "4.1.0", + "bundled": true, + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "glob": { + "version": "7.1.3", + "bundled": true, + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "graceful-fs": { + "version": "4.1.15", + "bundled": true, + "dev": true + }, + "handlebars": { + "version": "4.1.0", + "bundled": true, + "dev": true, + "requires": { + "async": "^2.5.0", + "optimist": "^0.6.1", + "source-map": "^0.6.1", + "uglify-js": "^3.1.4" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "bundled": true, + "dev": true + } + } + }, + "has-flag": { + "version": "3.0.0", + "bundled": true, + "dev": true + }, + "hasha": { + "version": "3.0.0", + "bundled": true, + "dev": true, + "requires": { + "is-stream": "^1.0.1" + } + }, + "hosted-git-info": { + "version": "2.7.1", + "bundled": true, + "dev": true + }, + "imurmurhash": { + "version": "0.1.4", + "bundled": true, + "dev": true + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.3", + "bundled": true, + "dev": true + }, + "invert-kv": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "is-arrayish": { + "version": "0.2.1", + "bundled": true, + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "is-stream": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "isexe": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "istanbul-lib-coverage": { + "version": "2.0.3", + "bundled": true, + "dev": true + }, + "istanbul-lib-hook": { + "version": "2.0.3", + "bundled": true, + "dev": true, + "requires": { + "append-transform": "^1.0.0" + } + }, + "istanbul-lib-report": { + "version": "2.0.4", + "bundled": true, + "dev": true, + "requires": { + "istanbul-lib-coverage": "^2.0.3", + "make-dir": "^1.3.0", + "supports-color": "^6.0.0" + }, + "dependencies": { + "supports-color": { + "version": "6.1.0", + "bundled": true, + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "istanbul-lib-source-maps": { + "version": "3.0.2", + "bundled": true, + "dev": true, + "requires": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^2.0.3", + "make-dir": "^1.3.0", + "rimraf": "^2.6.2", + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "bundled": true, + "dev": true + } + } + }, + "istanbul-reports": { + "version": "2.1.1", + "bundled": true, + "dev": true, + "requires": { + "handlebars": "^4.1.0" + } + }, + "json-parse-better-errors": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "lcid": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "requires": { + "invert-kv": "^2.0.0" + } + }, + "load-json-file": { + "version": "4.0.0", + "bundled": true, + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "bundled": true, + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "lodash": { + "version": "4.17.11", + "bundled": true, + "dev": true + }, + "lodash.flattendeep": { + "version": "4.4.0", + "bundled": true, + "dev": true + }, + "lru-cache": { + "version": "4.1.5", + "bundled": true, + "dev": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "make-dir": { + "version": "1.3.0", + "bundled": true, + "dev": true, + "requires": { + "pify": "^3.0.0" + } + }, + "map-age-cleaner": { + "version": "0.1.3", + "bundled": true, + "dev": true, + "requires": { + "p-defer": "^1.0.0" + } + }, + "mem": { + "version": "4.1.0", + "bundled": true, + "dev": true, + "requires": { + "map-age-cleaner": "^0.1.1", + "mimic-fn": "^1.0.0", + "p-is-promise": "^2.0.0" + } + }, + "merge-source-map": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "requires": { + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "bundled": true, + "dev": true + } + } + }, + "mimic-fn": { + "version": "1.2.0", + "bundled": true, + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "0.0.10", + "bundled": true, + "dev": true + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "dev": true, + "requires": { + "minimist": "0.0.8" + }, + "dependencies": { + "minimist": { + "version": "0.0.8", + "bundled": true, + "dev": true + } + } + }, + "ms": { + "version": "2.1.1", + "bundled": true, + "dev": true + }, + "nice-try": { + "version": "1.0.5", + "bundled": true, + "dev": true + }, + "normalize-package-data": { + "version": "2.5.0", + "bundled": true, + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "npm-run-path": { + "version": "2.0.2", + "bundled": true, + "dev": true, + "requires": { + "path-key": "^2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "once": { + "version": "1.4.0", + "bundled": true, + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "optimist": { + "version": "0.6.1", + "bundled": true, + "dev": true, + "requires": { + "minimist": "~0.0.1", + "wordwrap": "~0.0.2" + } + }, + "os-homedir": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "os-locale": { + "version": "3.1.0", + "bundled": true, + "dev": true, + "requires": { + "execa": "^1.0.0", + "lcid": "^2.0.0", + "mem": "^4.0.0" + } + }, + "p-defer": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "p-finally": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "p-is-promise": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "p-limit": { + "version": "2.1.0", + "bundled": true, + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "bundled": true, + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-try": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "package-hash": { + "version": "3.0.0", + "bundled": true, + "dev": true, + "requires": { + "graceful-fs": "^4.1.15", + "hasha": "^3.0.0", + "lodash.flattendeep": "^4.4.0", + "release-zalgo": "^1.0.0" + } + }, + "parse-json": { + "version": "4.0.0", + "bundled": true, + "dev": true, + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "path-exists": { + "version": "3.0.0", + "bundled": true, + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "path-key": { + "version": "2.0.1", + "bundled": true, + "dev": true + }, + "path-parse": { + "version": "1.0.6", + "bundled": true, + "dev": true + }, + "path-type": { + "version": "3.0.0", + "bundled": true, + "dev": true, + "requires": { + "pify": "^3.0.0" + } + }, + "pify": { + "version": "3.0.0", + "bundled": true, + "dev": true + }, + "pkg-dir": { + "version": "3.0.0", + "bundled": true, + "dev": true, + "requires": { + "find-up": "^3.0.0" + } + }, + "pseudomap": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "pump": { + "version": "3.0.0", + "bundled": true, + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "read-pkg": { + "version": "3.0.0", + "bundled": true, + "dev": true, + "requires": { + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" + } + }, + "read-pkg-up": { + "version": "4.0.0", + "bundled": true, + "dev": true, + "requires": { + "find-up": "^3.0.0", + "read-pkg": "^3.0.0" + } + }, + "release-zalgo": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "es6-error": "^4.0.1" + } + }, + "require-directory": { + "version": "2.1.1", + "bundled": true, + "dev": true + }, + "require-main-filename": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "resolve": { + "version": "1.10.0", + "bundled": true, + "dev": true, + "requires": { + "path-parse": "^1.0.6" + } + }, + "resolve-from": { + "version": "4.0.0", + "bundled": true, + "dev": true + }, + "rimraf": { + "version": "2.6.3", + "bundled": true, + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "safe-buffer": { + "version": "5.1.2", + "bundled": true, + "dev": true + }, + "semver": { + "version": "5.6.0", + "bundled": true, + "dev": true + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "shebang-command": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true, + "dev": true + }, + "spawn-wrap": { + "version": "1.4.2", + "bundled": true, + "dev": true, + "requires": { + "foreground-child": "^1.5.6", + "mkdirp": "^0.5.0", + "os-homedir": "^1.0.1", + "rimraf": "^2.6.2", + "signal-exit": "^3.0.2", + "which": "^1.3.0" + } + }, + "spdx-correct": { + "version": "3.1.0", + "bundled": true, + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.2.0", + "bundled": true, + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.0", + "bundled": true, + "dev": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.3", + "bundled": true, + "dev": true + }, + "string-width": { + "version": "2.1.1", + "bundled": true, + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + }, + "strip-bom": { + "version": "3.0.0", + "bundled": true, + "dev": true + }, + "strip-eof": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "test-exclude": { + "version": "5.1.0", + "bundled": true, + "dev": true, + "requires": { + "arrify": "^1.0.1", + "minimatch": "^3.0.4", + "read-pkg-up": "^4.0.0", + "require-main-filename": "^1.0.1" + } + }, + "uglify-js": { + "version": "3.4.9", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "commander": "~2.17.1", + "source-map": "~0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "uuid": { + "version": "3.3.2", + "bundled": true, + "dev": true + }, + "validate-npm-package-license": { + "version": "3.0.4", + "bundled": true, + "dev": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "which": { + "version": "1.3.1", + "bundled": true, + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "which-module": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "wordwrap": { + "version": "0.0.3", + "bundled": true, + "dev": true + }, + "wrap-ansi": { + "version": "2.1.0", + "bundled": true, + "dev": true, + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "bundled": true, + "dev": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "string-width": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + } + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "write-file-atomic": { + "version": "2.4.2", + "bundled": true, + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } + }, + "y18n": { + "version": "4.0.0", + "bundled": true, + "dev": true + }, + "yallist": { + "version": "2.1.2", + "bundled": true, + "dev": true + }, + "yargs": { + "version": "12.0.5", + "bundled": true, + "dev": true, + "requires": { + "cliui": "^4.0.0", + "decamelize": "^1.2.0", + "find-up": "^3.0.0", + "get-caller-file": "^1.0.1", + "os-locale": "^3.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1 || ^4.0.0", + "yargs-parser": "^11.1.1" + } + }, + "yargs-parser": { + "version": "11.1.1", + "bundled": true, + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "oauth": { + "version": "0.9.15", + "resolved": "https://registry.npmjs.org/oauth/-/oauth-0.9.15.tgz", + "integrity": "sha1-vR/vr2hslrdUda7VGWQS/2DPucE=" + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" + }, + "object-component": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz", + "integrity": "sha1-8MaapQ78lbhmwYb0AKM3acsvEpE=" + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "object-keys": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.0.tgz", + "integrity": "sha512-6OO5X1+2tYkNyNEx6TsCxEqFfRWaqx6EtMiSbGrw8Ob8v9Ne+Hl8rBAgLBZn5wjEz3s/s6U1WXFUFOcxxAwUpg==", + "dev": true + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "requires": { + "isobject": "^3.0.0" + } + }, + "object.assign": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", + "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.0", + "object-keys": "^1.0.11" + } + }, + "object.getownpropertydescriptors": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz", + "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "es-abstract": "^1.5.1" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "requires": { + "isobject": "^3.0.1" + } + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "requires": { + "ee-first": "1.1.1" + } + }, + "on-headers": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz", + "integrity": "sha1-ko9dD0cNSTQmUepnlLCFfBAGk/c=" + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "os-locale": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", + "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", + "dev": true, + "requires": { + "execa": "^1.0.0", + "lcid": "^2.0.0", + "mem": "^4.0.0" }, "dependencies": { "cross-spawn": { @@ -4020,6 +5264,12 @@ "resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz", "integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA=" }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true + }, "to-object-path": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", @@ -4082,6 +5332,12 @@ } } }, + "trim-right": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", + "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", + "dev": true + }, "tunnel-agent": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", diff --git a/package.json b/package.json index 2f129a3c..f1e4f875 100644 --- a/package.json +++ b/package.json @@ -6,6 +6,7 @@ "scripts": { "start": "nodemon server.js", "test": "mocha tests/*.js", + "report": "nyc --reporter=html mocha tests/*.js", "lint": "eslint ./tests/**/**.js ./schema/**/**.js ./routes/**/**.js ./controller/**/**.js ./config/**/**.js ./server.js --fix" }, "author": "Capedcrusader23", @@ -36,6 +37,7 @@ "eslint-config-prettier": "^4.1.0", "eslint-plugin-prettier": "^3.0.1", "mocha": "^6.0.2", + "nyc": "^13.3.0", "prettier": "^1.16.4", "supertest": "^3.4.2" } diff --git a/tests/controller_test.js b/tests/controller_test.js index be06171f..decf852b 100644 --- a/tests/controller_test.js +++ b/tests/controller_test.js @@ -1,4 +1,4 @@ -process.env.TESTING = true; +// process.env.TESTING = true; const { expect } = require('chai'); const secret = require('.././config/credential.js'); const mongoose = require('mongoose'); From ac72cdf9f38839d17a58ef50044be0b1079269c7 Mon Sep 17 00:00:00 2001 From: Tushar Goel <34160672+TG1999@users.noreply.github.com> Date: Mon, 11 Mar 2019 00:57:07 +0530 Subject: [PATCH 02/28] Update controller_test.js --- tests/controller_test.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/controller_test.js b/tests/controller_test.js index decf852b..be06171f 100644 --- a/tests/controller_test.js +++ b/tests/controller_test.js @@ -1,4 +1,4 @@ -// process.env.TESTING = true; +process.env.TESTING = true; const { expect } = require('chai'); const secret = require('.././config/credential.js'); const mongoose = require('mongoose'); From 2e275459981dde619477f312501f8eebbfd6e524 Mon Sep 17 00:00:00 2001 From: Tushar Goel <34160672+TG1999@users.noreply.github.com> Date: Mon, 11 Mar 2019 00:57:39 +0530 Subject: [PATCH 03/28] Update credential.js --- config/credential.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/credential.js b/config/credential.js index de5f6bf3..017a4581 100644 --- a/config/credential.js +++ b/config/credential.js @@ -3,7 +3,7 @@ module.exports = { clientID: "192695093229-kf95jtdv1jge25d86ak99e68dkrpu33o.apps.googleusercontent.com", clientSecret: "rXvfxBahDlJF1ORk7y660XM8" }, - database: 'mongodb://localhost:27017/donut1', + database: 'YOUR MONGODB URL', github: { clientID: 'c9afdb238ed98b213912', clientSecret: '3031efea8badea1381da682fd5f21e88e5a15d2f' From f909051653bb29575acd19a48408aa27d10582a5 Mon Sep 17 00:00:00 2001 From: Rupeshiya Date: Mon, 11 Mar 2019 22:43:10 +0530 Subject: [PATCH 04/28] added backend validation for project submit form --- controller/profile.controller.js | 52 +++++++++++++++++++++----------- package-lock.json | 19 ++++++++++++ package.json | 1 + server.js | 4 ++- 4 files changed, 58 insertions(+), 18 deletions(-) diff --git a/controller/profile.controller.js b/controller/profile.controller.js index d4224eb6..fe2a3dd7 100644 --- a/controller/profile.controller.js +++ b/controller/profile.controller.js @@ -1,5 +1,6 @@ const user = require('../schema/user.js'); const proj = require('../schema/project.js'); +const expressValidator = require('express-validator'); module.exports = { SubmitprojectForm:function(req,res){ @@ -38,23 +39,40 @@ module.exports = { }) }, publish: function(req, res) { - var lan=req.body.genre.split(','); - new proj({ - createdAt:Date.now(), - pname: req.body.contentname, - pid: req.user.Eid, - github: req.body.git, - Lang:lan, - content: req.body.cont, - upvote: '', - downvote: '', - proid: Math.floor(Math.random() * 100000) - }) - .save() - .then(function() { - res.redirect('/profile/profileview/' + req.user.Eid); - }); - }, + var lan=req.body.genre.split(','); + req.check('contentname','Project name is required !!').notEmpty(); + req.check('git','Github url is required !!').isURL(); + req.check('cont','Description is required !!').notEmpty(); + req.check('genre','Language used is required !!').notEmpty(); + req.getValidationResult(req) + .then((result)=>{ + if(result.isEmpty() === false){ + result.array().forEach((error)=>{ + console.log(error.msg); + res.redirect('/profile/submitProject'); + }); + } else { + new proj({ + createdAt:Date.now(), + pname: req.body.contentname, + pid: req.user.Eid, + github: req.body.git, + Lang:lan, + content: req.body.cont, + upvote: '', + downvote: '', + proid: Math.floor(Math.random() * 100000) + }) + .save() + .then(function() { + res.redirect('/profile/profileview/' + req.user.Eid); + }); + } + }) + .catch((err)=>{ + console.log(`${err}`); + }); +}, upDownVote: function (req,res) { proj.findOne({proid: req.body.project}).then((pro)=>{ if(pro.upDownVote.get(req.body.client)){ diff --git a/package-lock.json b/package-lock.json index 5da145f1..7d947429 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1114,6 +1114,20 @@ } } }, + "express-flash-messages": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/express-flash-messages/-/express-flash-messages-0.1.1.tgz", + "integrity": "sha1-QCDOUXjDuzZjlN6QZiILwnBb1vI=" + }, + "express-validator": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/express-validator/-/express-validator-5.3.1.tgz", + "integrity": "sha512-g8xkipBF6VxHbO1+ksC7nxUU7+pWif0+OZXjZTybKJ/V0aTVhuCoHbyhIPgSYVldwQLocGExPtB2pE0DqK4jsw==", + "requires": { + "lodash": "^4.17.10", + "validator": "^10.4.0" + } + }, "extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", @@ -4285,6 +4299,11 @@ "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==" }, + "validator": { + "version": "10.11.0", + "resolved": "https://registry.npmjs.org/validator/-/validator-10.11.0.tgz", + "integrity": "sha512-X/p3UZerAIsbBfN/IwahhYaBbY68EN/UQBWHtsbXGT5bfrH/p4NQzUCG1kF/rtKaNpnJ7jAu6NGTdSNtyNIXMw==" + }, "vary": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", diff --git a/package.json b/package.json index 2f129a3c..dc877a74 100644 --- a/package.json +++ b/package.json @@ -16,6 +16,7 @@ "cookie-session": "^2.0.0-beta.3", "ejs": "^2.6.1", "express": "^4.16.3", + "express-validator": "^5.3.1", "mongo": "^0.1.0", "mongodb": "^3.1.0", "mongoose": "^5.1.7", diff --git a/server.js b/server.js index 626ecca8..20d73970 100644 --- a/server.js +++ b/server.js @@ -14,6 +14,8 @@ const notification = require('./schema/notification.js'); const indexRoutes = require('./routes/index.routes'); const facebook = require('./config/facebook.js'); const memwatch = require('node-memwatch'); +const expressValidator = require('express-validator'); + //Snapshot at start const hd = new memwatch.HeapDiff(); @@ -35,7 +37,7 @@ app.use( app.use(passport.initialize()); app.use(passport.session()); - +app.use(expressValidator()); app.use(indexRoutes); app.get('**',(req,res)=>{ From 842577ce0720c188a3e7744864f70baa44abc74d Mon Sep 17 00:00:00 2001 From: pragun22 Date: Sun, 24 Mar 2019 19:31:05 +0530 Subject: [PATCH 05/28] made changes to schema --- 1.png | Bin 0 -> 188874 bytes 10.png | Bin 0 -> 135179 bytes 2.png | Bin 0 -> 190886 bytes 3.png | Bin 0 -> 192663 bytes 4.png | Bin 0 -> 198583 bytes 5.png | Bin 0 -> 173932 bytes 6.png | Bin 0 -> 168388 bytes 7.png | Bin 0 -> 141016 bytes 8.png | Bin 0 -> 127897 bytes 9.png | Bin 0 -> 126025 bytes PR_Template.md | 42 ++++++++++++++++++++++++++++++----------- package-lock.json | 28 ++++++++++++++++++++------- schema/notification.js | 3 +++ schema/project.js | 11 ++++++++++- schema/user.js | 24 +++++++++++++++++++++++ 15 files changed, 89 insertions(+), 19 deletions(-) create mode 100644 1.png create mode 100644 10.png create mode 100644 2.png create mode 100644 3.png create mode 100644 4.png create mode 100644 5.png create mode 100644 6.png create mode 100644 7.png create mode 100644 8.png create mode 100644 9.png diff --git a/1.png b/1.png new file mode 100644 index 0000000000000000000000000000000000000000..e483af78b409f09700bff5e067b471a63c06b976 GIT binary patch literal 188874 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
  • Dcqk(r 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 From 05912c0043aa677771674e11c2b80ba648c3b149 Mon Sep 17 00:00:00 2001 From: TG1999 Date: Sun, 7 Apr 2019 09:18:24 +0530 Subject: [PATCH 11/28] image upload feature added Signed-off-by: TG1999 --- controller/profile.controller.js | 15 ++- package-lock.json | 124 ++++++++++++++++++++++- package.json | 1 + routes/profile.routes.js | 13 ++- schema/project.js | 4 +- views/images/uploads/image-1554607722354 | Bin 0 -> 27060 bytes views/images/uploads/image-1554608371528 | Bin 0 -> 27060 bytes views/images/uploads/image-1554608607015 | Bin 0 -> 24812 bytes views/other-landing.ejs | 2 +- views/projectForm.ejs | 6 +- 10 files changed, 155 insertions(+), 10 deletions(-) create mode 100644 views/images/uploads/image-1554607722354 create mode 100644 views/images/uploads/image-1554608371528 create mode 100644 views/images/uploads/image-1554608607015 diff --git a/controller/profile.controller.js b/controller/profile.controller.js index 3145187e..f7a65e25 100644 --- a/controller/profile.controller.js +++ b/controller/profile.controller.js @@ -2,7 +2,16 @@ const user = require('../schema/user.js'); const proj = require('../schema/project.js'); const expressValidator = require('express-validator'); const { check, validationResult } = require('express-validator/check'); - +// var multer = require('multer'); +// var storage = multer.diskStorage({ +// destination: (req, file, cb) => { +// cb(null, 'public/images/uploads') +// }, +// filename: (req, file, cb) => { +// cb(null, file.fieldname + '-' + Date.now()) +// } +// }); +// var upload = multer({storage: storage}); module.exports = { SubmitprojectForm:function(req,res){ res.render('projectForm') @@ -35,6 +44,7 @@ module.exports = { ]).sort({createdAt:-1}).then((da)=>{ console.log(req.user); user.findOne({ Eid: req.params.sd }).then(function (use) { + console.log(da) res.render('other-landing', { use: use, ques: da, sign: req.user}); }) }) @@ -62,7 +72,8 @@ module.exports = { content: req.body.cont, upvote: '', downvote: '', - proid: Math.floor(Math.random() * 100000) + proid: Math.floor(Math.random() * 100000), + image:'/images/uploads/'+req.file.filename }) .save() .then(function() { diff --git a/package-lock.json b/package-lock.json index 82d22910..af112853 100644 --- a/package-lock.json +++ b/package-lock.json @@ -216,6 +216,11 @@ "normalize-path": "^2.1.1" } }, + "append-field": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/append-field/-/append-field-1.0.0.tgz", + "integrity": "sha1-HjRA6RXwsSA9I3SOeO3XubW0PlY=" + }, "argparse": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", @@ -516,6 +521,43 @@ "resolved": "https://registry.npmjs.org/bson/-/bson-1.0.9.tgz", "integrity": "sha512-IQX9/h7WdMBIW/q/++tGd+emQr0XMdeZ6icnT/74Xk9fnabWn+gZgpE+9V+gujL3hhJOoNrnDVY7tWdzc7NUTg==" }, + "buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" + }, + "busboy": { + "version": "0.2.14", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-0.2.14.tgz", + "integrity": "sha1-bCpiLvz0fFe7vh4qnDetNseSVFM=", + "requires": { + "dicer": "0.2.5", + "readable-stream": "1.1.x" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + }, + "readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" + } + } + }, "bytes": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", @@ -705,6 +747,17 @@ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, "configstore": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.2.tgz", @@ -931,6 +984,38 @@ "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", "dev": true }, + "dicer": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/dicer/-/dicer-0.2.5.tgz", + "integrity": "sha1-WZbAhrszIYyBLAkL3cCc0S+stw8=", + "requires": { + "readable-stream": "1.1.x", + "streamsearch": "0.1.2" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + }, + "readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" + } + } + }, "diff": { "version": "3.5.0", "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", @@ -2846,7 +2931,6 @@ "version": "0.5.1", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "dev": true, "requires": { "minimist": "0.0.8" }, @@ -2854,8 +2938,7 @@ "minimist": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "dev": true + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" } } }, @@ -3012,6 +3095,21 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" }, + "multer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/multer/-/multer-1.4.1.tgz", + "integrity": "sha512-zzOLNRxzszwd+61JFuAo0fxdQfvku12aNJgnla0AQ+hHxFmfc/B7jBVuPr5Rmvu46Jze/iJrFpSOsD7afO8SDw==", + "requires": { + "append-field": "^1.0.0", + "busboy": "^0.2.11", + "concat-stream": "^1.5.2", + "mkdirp": "^0.5.1", + "object-assign": "^4.1.1", + "on-finished": "^2.3.0", + "type-is": "^1.6.4", + "xtend": "^4.0.0" + } + }, "nan": { "version": "2.11.1", "resolved": "https://registry.npmjs.org/nan/-/nan-2.11.1.tgz", @@ -4183,6 +4281,11 @@ "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + }, "object-component": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz", @@ -5188,6 +5291,11 @@ "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==" }, + "streamsearch": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-0.1.2.tgz", + "integrity": "sha1-gIudDlb8Jz2Am6VzOOkpkZoanxo=" + }, "string-width": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", @@ -5396,6 +5504,11 @@ "mime-types": "~2.1.18" } }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" + }, "uid2": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/uid2/-/uid2-0.0.3.tgz", @@ -5705,6 +5818,11 @@ "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz", "integrity": "sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4=" }, + "xtend": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=" + }, "y18n": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", diff --git a/package.json b/package.json index ff869e38..a601271e 100644 --- a/package.json +++ b/package.json @@ -22,6 +22,7 @@ "mongo": "^0.1.0", "mongodb": "^3.1.0", "mongoose": "^5.1.7", + "multer": "^1.4.1", "node": "^10.5.0", "node-memwatch": "^1.0.1", "nodemon": "^1.18.8", diff --git a/routes/profile.routes.js b/routes/profile.routes.js index ad5180ab..6253e480 100644 --- a/routes/profile.routes.js +++ b/routes/profile.routes.js @@ -13,7 +13,16 @@ const auth = function(req, res, next) { next(); } }; - +var multer = require('multer'); +var storage = multer.diskStorage({ + destination: (req, file, cb) => { + cb(null, 'views/images/uploads') + }, + filename: (req, file, cb) => { + cb(null, file.fieldname + '-' + Date.now()) + } +}); +var upload = multer({storage: storage}); route.get('/submitProject',auth,profileController.SubmitprojectForm) route.get('/search', url, jsonParser, profileController.search); @@ -23,7 +32,7 @@ route.get('/profile/:id', auth, profileController.profileId); route.get('/profileview/:sd', auth, url, profileController.profileViewSd); -route.post('/publish', auth, url, profileController.publish); +route.post('/publish', auth, url,upload.single('image'), profileController.publish); route.post('/upDownVote', auth,url, jsonParser,profileController.upDownVote); diff --git a/schema/project.js b/schema/project.js index 63c041d6..c227a8e4 100644 --- a/schema/project.js +++ b/schema/project.js @@ -41,7 +41,9 @@ createdAt:{ endAt:{ type:Date }, - +image:{ +type:String +} }); const proj=mongoose.model('project',project); diff --git a/views/images/uploads/image-1554607722354 b/views/images/uploads/image-1554607722354 new file mode 100644 index 0000000000000000000000000000000000000000..bc5710dcf7eb2dfdf83c352321fa1209a5cf5438 GIT binary patch literal 27060 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 literal 0 HcmV?d00001 diff --git a/views/images/uploads/image-1554608371528 b/views/images/uploads/image-1554608371528 new file mode 100644 index 0000000000000000000000000000000000000000..bc5710dcf7eb2dfdf83c352321fa1209a5cf5438 GIT binary patch literal 27060 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 literal 0 HcmV?d00001 diff --git a/views/images/uploads/image-1554608607015 b/views/images/uploads/image-1554608607015 new file mode 100644 index 0000000000000000000000000000000000000000..0b929c252e4082e6f6dad19aab63e727cf38e992 GIT binary patch literal 24812 zcmbrkXIK+X(=UvOBBG%1R}>LYLK6s0Is_FF=^)a336T;)?;$8EAWae=KqxA`OYcoe z=pZe0q=Z1|gdWPl`+nZ%x!-fn^?rHtA=hSiW_D(FcV_oD3Dwe2x_O=XIt2yAP36}w z-%wCok+^6NUAubm{nn8CD+R^9w{{8&TFMFv>{_lcTRTTE1%<(uSrw<`en^i@v6qZ4_N3wrW{ChBk=yM_fN;U zrI9vJDBYhO!s#s7?%FfVCgBaHcT3;Hxd8GyuuU~ zZ!K#q{M8n@JcET9uZZ7jkH$z^Jb*Y_Z9@HB!>}`Y^zC~TTDLoFR46D~_2T=O2#gfn zj~YHs-und)`eivPb zTl+PCi~QmiarqD3+(z`QqD_?6hUO&=_rt3#9PhE(+chX0?9+=peJ?DlaEs=-FxS2e zy!7P9%{5P(IGx9i1!oqBFRXT1u*(T08D6MHQSsLIWgO?=Z>gPZNAgI@_2dfZtNDcw zECQBlAB9!jLz2hE>EH11YW45X({qk`4h1~Amq-5eV8y9h$@fs_2Gr}2*YY>wMA7!j z)dYi$KZEhl{1zTc?SU2r$m14ML?#W_Lk_Iq#P~^+U_-$1)yW19^69UKo+pZtitWo2 z8@s1>@7ve6MExRvVulW0vFN$;5K=kBlyT>>W(V|$r@P~x0~so#J=1KXvkLXoqG@7T zz65Wgwwfc}eEdx48WH1=5QKnM-lG)x7D(}jI^B~8;VTI(|Jb4_^OXwJ(n0_7d_Ajn zgh)MaaeQn}+}F8&2rF-g?p?dYX3283=NZq5jAx$yp*b}2kDMCKG21%mXTf*pX-Bd- zGfigvrk2%t2R`kzB~-X+**aYK^F5b;s8wh)-irjMN;}6Y<@^{vGa$1C>?-Y2_)^M+ zuqrg}+)zn7>1G32Txz$t`B?_!cRmD(xyG+clMy!f5#Lgx&Cf%}{^`v}v1qM{pH7_d zxs}#OnFr@_r{tU}$=MqV($U9ja8~^JiW~uc6zwu7%J5jpr8Q? z`ge18+UUFk*>44%MpJh^ySz+s+2VSBpq%q1)-4|DU!(-e`DU}P*F~NKC9i&Y#w&TV z?*r{0hN|mE&t$5oSp%`(*lv7~*jhWHux*w#pv=2PW%-CXK49MWOj|4g> zM1mb3F?G;h5B&Ar;GJL$9sb1?E#9{@BQNy7Js6P7re+Q_d%iI6bob`*r)Q6^UE`vX zctQ0jNK5hSE!%5;t*kF89$%0C*zt@-G3n*oN5tE`A$}p)kms%UtnL{qvrJO5m53z=6?ZWbN8hY#F&uK0aF zjV?_^n@OuTTVvR5Skj(#?}2*I(hJoeBfq)cLEI^%S(8J7uk_O}1EyQ{$AMT6Pj<@NtRJ)RS+l@&yFrk&-s@T9YAE3wR@QKsf`e(uzgQMI&-TwXk%bp2e z62G8TQo6o =T5|JC98%Y!&5zWOIltpfaE4Z8Rnb@J%F3Dj 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
    - + <%for(var q=0;q <%=x.Lang[q]%> <%}%> diff --git a/views/projectForm.ejs b/views/projectForm.ejs index 2e1bfe52..4340e2a8 100644 --- a/views/projectForm.ejs +++ b/views/projectForm.ejs @@ -48,7 +48,7 @@

    Submit your project

    - +
    @@ -67,6 +67,10 @@
    +
    + + +
    From 5574a2a65f4a3b7c89876a62923ddc837263ecd1 Mon Sep 17 00:00:00 2001 From: lakshyabatman Date: Sun, 7 Apr 2019 21:25:26 +0530 Subject: [PATCH 12/28] Multer added and image will be saved on public/uploads on uploading --- config/local.js | 38 +++++++++++++- package-lock.json | 124 ++++++++++++++++++++++++++++++++++++++++++++-- package.json | 1 + schema/user.js | 3 ++ 4 files changed, 162 insertions(+), 4 deletions(-) diff --git a/config/local.js b/config/local.js index 96c8a636..80146f75 100644 --- a/config/local.js +++ b/config/local.js @@ -1,6 +1,34 @@ const passport = require('passport'); const LocalStrategy = require('passport-local'); const User = require('../schema/user'); +const multer=require('multer') +const path=require('path') +//MULTER +const storage=multer.diskStorage({ + destination:'./public/uploads', + filename:function(req,file,cb){ + cb(null,file.fieldname+"-"+Date.now()+path.extname(file.originalname)) + } +}) +const upload=multer({ + storage:storage, + limits:{fileSize:1000000}, + fileFilter:function(req,res,cb){ + checkFileType(file,cb); + } +}).single('myImage') + +function checkFileType(file,cb){ + const fileTypes=/jpeg|jpg|png|gif/; + const extname=fileTypes.test(path.extname(file.originalname).toLowerCase()) + const mimetype=fileTypes.test(file.mimetype); + + if(mimetype && extname){ + return cb(null,true); + }else{ + cb('Error:Images only') + } +} passport.serializeUser(function(user, done) { done(null, user.id); @@ -28,7 +56,14 @@ passport.use( if (user) { return done(null, false); } - + + upload(req,res,(err)=>{ + if(err){ + let img=oldMan.jpeg + }else{ + let img=req.file.filename + } + }) let newUser = new User(); newUser.fname = req.body.fname; newUser.lname = req.body.lname; @@ -41,6 +76,7 @@ passport.use( newUser.following = 0; newUser.status = 'idle'; newUser.Eid = newUser.id; + newUser.profilePicture=img; newUser.save(err => { if (err) { diff --git a/package-lock.json b/package-lock.json index 82d22910..af112853 100644 --- a/package-lock.json +++ b/package-lock.json @@ -216,6 +216,11 @@ "normalize-path": "^2.1.1" } }, + "append-field": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/append-field/-/append-field-1.0.0.tgz", + "integrity": "sha1-HjRA6RXwsSA9I3SOeO3XubW0PlY=" + }, "argparse": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", @@ -516,6 +521,43 @@ "resolved": "https://registry.npmjs.org/bson/-/bson-1.0.9.tgz", "integrity": "sha512-IQX9/h7WdMBIW/q/++tGd+emQr0XMdeZ6icnT/74Xk9fnabWn+gZgpE+9V+gujL3hhJOoNrnDVY7tWdzc7NUTg==" }, + "buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" + }, + "busboy": { + "version": "0.2.14", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-0.2.14.tgz", + "integrity": "sha1-bCpiLvz0fFe7vh4qnDetNseSVFM=", + "requires": { + "dicer": "0.2.5", + "readable-stream": "1.1.x" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + }, + "readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" + } + } + }, "bytes": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", @@ -705,6 +747,17 @@ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, "configstore": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.2.tgz", @@ -931,6 +984,38 @@ "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", "dev": true }, + "dicer": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/dicer/-/dicer-0.2.5.tgz", + "integrity": "sha1-WZbAhrszIYyBLAkL3cCc0S+stw8=", + "requires": { + "readable-stream": "1.1.x", + "streamsearch": "0.1.2" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + }, + "readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" + } + } + }, "diff": { "version": "3.5.0", "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", @@ -2846,7 +2931,6 @@ "version": "0.5.1", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "dev": true, "requires": { "minimist": "0.0.8" }, @@ -2854,8 +2938,7 @@ "minimist": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "dev": true + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" } } }, @@ -3012,6 +3095,21 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" }, + "multer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/multer/-/multer-1.4.1.tgz", + "integrity": "sha512-zzOLNRxzszwd+61JFuAo0fxdQfvku12aNJgnla0AQ+hHxFmfc/B7jBVuPr5Rmvu46Jze/iJrFpSOsD7afO8SDw==", + "requires": { + "append-field": "^1.0.0", + "busboy": "^0.2.11", + "concat-stream": "^1.5.2", + "mkdirp": "^0.5.1", + "object-assign": "^4.1.1", + "on-finished": "^2.3.0", + "type-is": "^1.6.4", + "xtend": "^4.0.0" + } + }, "nan": { "version": "2.11.1", "resolved": "https://registry.npmjs.org/nan/-/nan-2.11.1.tgz", @@ -4183,6 +4281,11 @@ "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + }, "object-component": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz", @@ -5188,6 +5291,11 @@ "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==" }, + "streamsearch": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-0.1.2.tgz", + "integrity": "sha1-gIudDlb8Jz2Am6VzOOkpkZoanxo=" + }, "string-width": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", @@ -5396,6 +5504,11 @@ "mime-types": "~2.1.18" } }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" + }, "uid2": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/uid2/-/uid2-0.0.3.tgz", @@ -5705,6 +5818,11 @@ "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz", "integrity": "sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4=" }, + "xtend": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=" + }, "y18n": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", diff --git a/package.json b/package.json index ff869e38..a601271e 100644 --- a/package.json +++ b/package.json @@ -22,6 +22,7 @@ "mongo": "^0.1.0", "mongodb": "^3.1.0", "mongoose": "^5.1.7", + "multer": "^1.4.1", "node": "^10.5.0", "node-memwatch": "^1.0.1", "nodemon": "^1.18.8", diff --git a/schema/user.js b/schema/user.js index b0ea052b..a8220372 100644 --- a/schema/user.js +++ b/schema/user.js @@ -88,6 +88,9 @@ const user = new Schema({ }, blockedUser : { type : [Number] + }, + profilePicture:{ + type: String } }); From 77785608d1dad30ffeb8dccd982f78993913f5d2 Mon Sep 17 00:00:00 2001 From: lakshyabatman Date: Mon, 8 Apr 2019 13:07:35 +0530 Subject: [PATCH 13/28] Default profile picture added --- views/uploads/oldMan.jpeg | Bin 0 -> 3768 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 views/uploads/oldMan.jpeg diff --git a/views/uploads/oldMan.jpeg b/views/uploads/oldMan.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..00a0eb569e8898a941bebb524bd5a151fe658ae4 GIT binary patch literal 3768 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 bk=t4A$&JKJ*O=yX;Y0h+l-SF>C$#?sr?~rr literal 0 HcmV?d00001 From 23d95397e7df145370c8919c0348f9cb3722b64e Mon Sep 17 00:00:00 2001 From: lakshyabatman Date: Mon, 8 Apr 2019 13:10:48 +0530 Subject: [PATCH 14/28] Small bugs fixed --- config/local.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/local.js b/config/local.js index 80146f75..b5363f9f 100644 --- a/config/local.js +++ b/config/local.js @@ -59,7 +59,7 @@ passport.use( upload(req,res,(err)=>{ if(err){ - let img=oldMan.jpeg + let img="oldMan.jpeg" }else{ let img=req.file.filename } From dc421768b7dc86f054ab98eed5ac51ee7210256b Mon Sep 17 00:00:00 2001 From: lakshyabatman Date: Mon, 8 Apr 2019 16:56:47 +0530 Subject: [PATCH 15/28] Signup page is integrated with the backend --- routes/login.routes.js | 14 +++++++++++--- server.js | 1 + views/all.ejs | 2 +- views/index.ejs | 2 +- views/user.ejs | 15 +++++---------- 5 files changed, 19 insertions(+), 15 deletions(-) diff --git a/routes/login.routes.js b/routes/login.routes.js index 92bde19a..bedd7da8 100644 --- a/routes/login.routes.js +++ b/routes/login.routes.js @@ -33,9 +33,12 @@ route.get( res.redirect('/profile/profile/:id'); } ); +route.get('/signup',url,function(req,res){ + res.render('user.ejs') +}) //post request - +//SIGNUP ROUTE route.post('/userlogin', url, function(req, res) { new user({ fname: req.body.fname, @@ -51,11 +54,15 @@ route.post('/userlogin', url, function(req, res) { Eid: Math.floor(Math.random() * 1000000) }) .save() + .catch((err)=>{ + res.send("ERROR") + }) .then(function(use) { - res.render('user', { user: use }); + //Right now it render index page because no login page is created yet so + res.send("YOU CAN LOGIN NOW") }); }); - +//LOGIN ROUTE route.post('/login', url, function(req, res) { user .findOne({ email: req.body.email }) @@ -68,6 +75,7 @@ route.post('/login', url, function(req, res) { } }); }); + route.get('/logout', function(req, res) { req.logout(); res.redirect('/'); diff --git a/server.js b/server.js index ed8cc340..3f809caa 100644 --- a/server.js +++ b/server.js @@ -28,6 +28,7 @@ const loged = []; app.set('view engine', 'ejs'); app.use(express.static(path.join(__dirname, 'views'))); +app.set('views',path.join(__dirname+"/views")); app.use(methodOverride('_method')); app.use( diff --git a/views/all.ejs b/views/all.ejs index 52acd399..8ecb8b11 100644 --- a/views/all.ejs +++ b/views/all.ejs @@ -88,7 +88,7 @@