diff --git a/package-lock.json b/package-lock.json index a345e31..2574e48 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,7 +13,7 @@ "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz", "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=", "requires": { - "mime-types": "2.1.18", + "mime-types": "~2.1.18", "negotiator": "0.6.1" } }, @@ -38,9 +38,9 @@ "resolved": "https://registry.npmjs.org/ast-transform/-/ast-transform-0.0.0.tgz", "integrity": "sha1-dJRAWIh9goPhidlUYAlHvJj+AGI=", "requires": { - "escodegen": "1.2.0", - "esprima": "1.0.4", - "through": "2.3.8" + "escodegen": "~1.2.0", + "esprima": "~1.0.4", + "through": "~2.3.4" }, "dependencies": { "escodegen": { @@ -48,10 +48,10 @@ "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.2.0.tgz", "integrity": "sha1-Cd55Z3kcyVi3+Jot220jRRrzJ+E=", "requires": { - "esprima": "1.0.4", - "estraverse": "1.5.1", - "esutils": "1.0.0", - "source-map": "0.1.43" + "esprima": "~1.0.4", + "estraverse": "~1.5.0", + "esutils": "~1.0.0", + "source-map": "~0.1.30" } }, "esprima": { @@ -75,7 +75,7 @@ "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", "optional": true, "requires": { - "amdefine": "1.0.1" + "amdefine": ">=0.0.4" } } } @@ -90,7 +90,7 @@ "resolved": "https://registry.npmjs.org/async/-/async-2.1.4.tgz", "integrity": "sha1-LSFgx3iAMuTdbL4lAvH5osj2zeQ=", "requires": { - "lodash": "4.17.5" + "lodash": "^4.14.0" } }, "aws-sdk": { @@ -115,8 +115,8 @@ "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", "requires": { - "core-js": "2.5.6", - "regenerator-runtime": "0.11.1" + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" } }, "base64-js": { @@ -125,11 +125,18 @@ "integrity": "sha1-+xNmgjPZYUz1+0vOlam6QJbN+AE=" }, "basic-auth": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.0.tgz", - "integrity": "sha1-AV2z81PgLlY3d1X5YnQuiYHnu7o=", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz", + "integrity": "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==", "requires": { - "safe-buffer": "5.1.1" + "safe-buffer": "5.1.2" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + } } }, "bcrypt-nodejs": { @@ -153,15 +160,15 @@ "integrity": "sha1-h2eKGdhLR9hZuDGZvVm84iKxBFQ=", "requires": { "bytes": "3.0.0", - "content-type": "1.0.4", + "content-type": "~1.0.4", "debug": "2.6.9", - "depd": "1.1.2", - "http-errors": "1.6.3", + "depd": "~1.1.1", + "http-errors": "~1.6.2", "iconv-lite": "0.4.19", - "on-finished": "2.3.0", + "on-finished": "~2.3.0", "qs": "6.5.1", "raw-body": "2.3.2", - "type-is": "1.6.16" + "type-is": "~1.6.15" } }, "brfs": { @@ -169,10 +176,10 @@ "resolved": "https://registry.npmjs.org/brfs/-/brfs-1.6.1.tgz", "integrity": "sha512-OfZpABRQQf+Xsmju8XE9bDjs+uU4vLREGolP7bDgcpsI17QREyZ4Bl+2KLxxx1kCgA0fAIhKQBaBYh+PEcCqYQ==", "requires": { - "quote-stream": "1.0.2", - "resolve": "1.7.1", - "static-module": "2.2.5", - "through2": "2.0.3" + "quote-stream": "^1.0.1", + "resolve": "^1.1.5", + "static-module": "^2.2.0", + "through2": "^2.0.0" } }, "brotli": { @@ -180,7 +187,7 @@ "resolved": "https://registry.npmjs.org/brotli/-/brotli-1.3.2.tgz", "integrity": "sha1-UlqcrU/LqWR119OI9q7LE+7VL0Y=", "requires": { - "base64-js": "1.2.3" + "base64-js": "^1.1.2" } }, "browser-resolve": { @@ -204,8 +211,8 @@ "integrity": "sha1-HhNyLP3g2F8SFnbCpyztUzoBiGk=", "requires": { "ast-transform": "0.0.0", - "ast-types": "0.7.8", - "browser-resolve": "1.11.2" + "ast-types": "^0.7.0", + "browser-resolve": "^1.8.1" } }, "bson": { @@ -218,9 +225,9 @@ "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", "requires": { - "base64-js": "1.2.3", - "ieee754": "1.1.8", - "isarray": "1.0.0" + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" } }, "buffer-equal": { @@ -253,10 +260,10 @@ "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.7", - "typedarray": "0.0.6" + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" } }, "content-disposition": { @@ -308,8 +315,8 @@ "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.4.tgz", "integrity": "sha1-K9OB8usgECAQXNUOpZ2mMJBpRoY=", "requires": { - "object-assign": "4.1.1", - "vary": "1.1.2" + "object-assign": "^4", + "vary": "^1" } }, "crc": { @@ -350,7 +357,7 @@ "resolved": "https://registry.npmjs.org/dfa/-/dfa-1.1.0.tgz", "integrity": "sha1-0wIYvRDQMPpCHfPrvIIoVGOjF4E=", "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.11.6" } }, "duplexer2": { @@ -358,7 +365,7 @@ "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=", "requires": { - "readable-stream": "2.2.7" + "readable-stream": "^2.0.2" } }, "ee-first": { @@ -391,11 +398,11 @@ "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.9.1.tgz", "integrity": "sha512-6hTjO1NAWkHnDk3OqQ4YrCuwwmGHL9S3nPlzBOUG/R44rda3wLNrfvQ5fkSGjyhHFKM7ALPKcKGrwvCLe0lC7Q==", "requires": { - "esprima": "3.1.3", - "estraverse": "4.2.0", - "esutils": "2.0.2", - "optionator": "0.8.2", - "source-map": "0.6.1" + "esprima": "^3.1.3", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" } }, "esprima": { @@ -428,36 +435,36 @@ "resolved": "https://registry.npmjs.org/express/-/express-4.16.3.tgz", "integrity": "sha1-avilAjUNsyRuzEvs9rWjTSL37VM=", "requires": { - "accepts": "1.3.5", + "accepts": "~1.3.5", "array-flatten": "1.1.1", "body-parser": "1.18.2", "content-disposition": "0.5.2", - "content-type": "1.0.4", + "content-type": "~1.0.4", "cookie": "0.3.1", "cookie-signature": "1.0.6", "debug": "2.6.9", - "depd": "1.1.2", - "encodeurl": "1.0.2", - "escape-html": "1.0.3", - "etag": "1.8.1", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", "finalhandler": "1.1.1", "fresh": "0.5.2", "merge-descriptors": "1.0.1", - "methods": "1.1.2", - "on-finished": "2.3.0", - "parseurl": "1.3.2", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.2", "path-to-regexp": "0.1.7", - "proxy-addr": "2.0.3", + "proxy-addr": "~2.0.3", "qs": "6.5.1", - "range-parser": "1.2.0", + "range-parser": "~1.2.0", "safe-buffer": "5.1.1", "send": "0.16.2", "serve-static": "1.13.2", "setprototypeof": "1.1.0", - "statuses": "1.4.0", - "type-is": "1.6.16", + "statuses": "~1.4.0", + "type-is": "~1.6.16", "utils-merge": "1.0.1", - "vary": "1.1.2" + "vary": "~1.1.2" }, "dependencies": { "statuses": { @@ -476,10 +483,10 @@ "cookie-signature": "1.0.6", "crc": "3.4.4", "debug": "2.6.9", - "depd": "1.1.2", - "on-headers": "1.0.1", - "parseurl": "1.3.2", - "uid-safe": "2.1.5", + "depd": "~1.1.1", + "on-headers": "~1.0.1", + "parseurl": "~1.3.2", + "uid-safe": "~2.1.5", "utils-merge": "1.0.1" } }, @@ -488,10 +495,10 @@ "resolved": "https://registry.npmjs.org/falafel/-/falafel-2.1.0.tgz", "integrity": "sha1-lrsXdh2rqU9G0AFzizzt86Z/4Gw=", "requires": { - "acorn": "5.5.3", - "foreach": "2.0.5", + "acorn": "^5.0.0", + "foreach": "^2.0.5", "isarray": "0.0.1", - "object-keys": "1.0.11" + "object-keys": "^1.0.6" }, "dependencies": { "isarray": { @@ -512,12 +519,12 @@ "integrity": "sha1-7r9O2EAHnIP0JJA4ydcDAIMBsQU=", "requires": { "debug": "2.6.9", - "encodeurl": "1.0.2", - "escape-html": "1.0.3", - "on-finished": "2.3.0", - "parseurl": "1.3.2", - "statuses": "1.4.0", - "unpipe": "1.0.0" + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.2", + "statuses": "~1.4.0", + "unpipe": "~1.0.0" }, "dependencies": { "statuses": { @@ -532,17 +539,17 @@ "resolved": "https://registry.npmjs.org/fontkit/-/fontkit-1.7.7.tgz", "integrity": "sha1-668tjz/t8wKuPGS0vurdwkf827E=", "requires": { - "babel-runtime": "6.26.0", - "brfs": "1.6.1", - "brotli": "1.3.2", - "browserify-optional": "1.0.1", - "clone": "1.0.4", - "deep-equal": "1.0.1", - "dfa": "1.1.0", - "restructure": "0.5.4", - "tiny-inflate": "1.0.2", - "unicode-properties": "1.1.0", - "unicode-trie": "0.3.1" + "babel-runtime": "^6.11.6", + "brfs": "^1.4.0", + "brotli": "^1.2.0", + "browserify-optional": "^1.0.0", + "clone": "^1.0.1", + "deep-equal": "^1.0.0", + "dfa": "^1.0.0", + "restructure": "^0.5.3", + "tiny-inflate": "^1.0.2", + "unicode-properties": "^1.0.0", + "unicode-trie": "^0.3.0" } }, "foreach": { @@ -575,7 +582,7 @@ "resolved": "https://registry.npmjs.org/has/-/has-1.0.1.tgz", "integrity": "sha1-hGFzP1OLCDfJNh45qauelwTcLyg=", "requires": { - "function-bind": "1.1.1" + "function-bind": "^1.0.2" } }, "hooks-fixed": { @@ -588,10 +595,10 @@ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", "requires": { - "depd": "1.1.2", + "depd": "~1.1.2", "inherits": "2.0.3", "setprototypeof": "1.1.0", - "statuses": "1.5.0" + "statuses": ">= 1.4.0 < 2" } }, "iconv-lite": { @@ -634,8 +641,8 @@ "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", "requires": { - "prelude-ls": "1.1.2", - "type-check": "0.3.2" + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" } }, "linebreak": { @@ -644,8 +651,8 @@ "integrity": "sha1-BSZICmLAW9Z58+nZmDDgnGp9DtY=", "requires": { "base64-js": "0.0.8", - "brfs": "1.6.1", - "unicode-trie": "0.3.1" + "brfs": "^1.3.0", + "unicode-trie": "^0.3.0" }, "dependencies": { "base64-js": { @@ -670,7 +677,7 @@ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.22.5.tgz", "integrity": "sha512-oreip9rJZkzvA8Qzk9HFs8fZGF/u7H/gtrE8EN6RjKJ9kh2HlC+yQ2QezifqTZfGyiuAV0dRv5a+y/8gBb1m9w==", "requires": { - "vlq": "0.2.3" + "vlq": "^0.2.2" } }, "media-typer": { @@ -688,7 +695,7 @@ "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.0.4.tgz", "integrity": "sha1-pd5GU42uhNQRTMXqArR3KmNGcB8=", "requires": { - "source-map": "0.5.7" + "source-map": "^0.5.6" }, "dependencies": { "source-map": { @@ -718,7 +725,7 @@ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", "integrity": "sha1-bzI/YKg9ERRvgx/xH9ZuL+VQO7g=", "requires": { - "mime-db": "1.33.0" + "mime-db": "~1.33.0" } }, "minimist": { @@ -746,8 +753,8 @@ "resolved": "https://registry.npmjs.org/mongodb-core/-/mongodb-core-2.1.18.tgz", "integrity": "sha1-TEYTm986HwMt7ZHbSfOO7AFlkFA=", "requires": { - "bson": "1.0.6", - "require_optional": "1.0.1" + "bson": "~1.0.4", + "require_optional": "~1.0.0" } }, "mongoose": { @@ -756,7 +763,7 @@ "integrity": "sha1-jrK7nIIDkcxSRUCVCo618JkvHos=", "requires": { "async": "2.1.4", - "bson": "1.0.6", + "bson": "~1.0.4", "hooks-fixed": "2.0.2", "kareem": "1.5.0", "lodash.get": "4.4.2", @@ -775,8 +782,8 @@ "resolved": "https://registry.npmjs.org/mongoose-sequence/-/mongoose-sequence-4.0.1.tgz", "integrity": "sha1-gx3dZu+Wq/AIqJQT6m0lg336zFU=", "requires": { - "async": "2.6.0", - "lodash": "4.17.5" + "async": "^2.5.0", + "lodash": "^4.6.1" }, "dependencies": { "async": { @@ -784,21 +791,21 @@ "resolved": "https://registry.npmjs.org/async/-/async-2.6.0.tgz", "integrity": "sha1-YaKau2/MAm/qd+VtHG7FOnlZUfQ=", "requires": { - "lodash": "4.17.5" + "lodash": "^4.14.0" } } } }, "morgan": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.9.0.tgz", - "integrity": "sha1-0B+mxlhZt2/PMbPLU6OCGjEdgFE=", + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.9.1.tgz", + "integrity": "sha512-HQStPIV4y3afTiCYVxirakhlCfGkI161c76kKFca7Fk1JusM//Qeo1ej2XaMniiNeaZklMVrh3vTtIzpzwbpmA==", "requires": { - "basic-auth": "2.0.0", + "basic-auth": "~2.0.0", "debug": "2.6.9", - "depd": "1.1.2", - "on-finished": "2.3.0", - "on-headers": "1.0.1" + "depd": "~1.1.2", + "on-finished": "~2.3.0", + "on-headers": "~1.0.1" } }, "mpath": { @@ -882,12 +889,12 @@ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", "requires": { - "deep-is": "0.1.3", - "fast-levenshtein": "2.0.6", - "levn": "0.3.0", - "prelude-ls": "1.1.2", - "type-check": "0.3.2", - "wordwrap": "1.0.0" + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.4", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "wordwrap": "~1.0.0" } }, "pako": { @@ -905,7 +912,7 @@ "resolved": "https://registry.npmjs.org/passport/-/passport-0.3.2.tgz", "integrity": "sha1-ndAJ+RXo/glbASSgG4+C2gdRAQI=", "requires": { - "passport-strategy": "1.0.0", + "passport-strategy": "1.x.x", "pause": "0.0.1" } }, @@ -914,7 +921,7 @@ "resolved": "https://registry.npmjs.org/passport-local/-/passport-local-1.0.0.tgz", "integrity": "sha1-H+YyaMkudWBmJkN+O5BmYsFbpu4=", "requires": { - "passport-strategy": "1.0.0" + "passport-strategy": "1.x.x" } }, "passport-local-mongoose": { @@ -922,11 +929,11 @@ "resolved": "https://registry.npmjs.org/passport-local-mongoose/-/passport-local-mongoose-4.5.0.tgz", "integrity": "sha1-HEOv11g3HgBcWuyngNYSCwd+YGU=", "requires": { - "debug": "3.1.0", - "generaterr": "1.5.0", - "passport-local": "1.0.0", - "scmp": "2.0.0", - "semver": "5.5.0" + "debug": "^3.1.0", + "generaterr": "^1.5.0", + "passport-local": "^1.0.0", + "scmp": "^2.0.0", + "semver": "^5.4.1" }, "dependencies": { "debug": { @@ -964,9 +971,9 @@ "resolved": "https://registry.npmjs.org/pdfkit/-/pdfkit-0.8.3.tgz", "integrity": "sha1-7Jmlf8Vcowlyb4VkVtoUQY9TMOM=", "requires": { - "fontkit": "1.7.7", - "linebreak": "0.3.0", - "png-js": "0.1.1" + "fontkit": "^1.0.0", + "linebreak": "^0.3.0", + "png-js": ">=0.1.0" } }, "pdfmake": { @@ -974,9 +981,9 @@ "resolved": "https://registry.npmjs.org/pdfmake/-/pdfmake-0.1.36.tgz", "integrity": "sha512-QVldm8MDJfyq43DpvLk/HoDf75gpQdhFTq7ozSd+40hR9DoOQno+P5NC/ax1CR0kfR9DrN13VxEzxYnhkUM5+w==", "requires": { - "iconv-lite": "0.4.19", - "linebreak": "0.3.0", - "pdfkit": "0.8.3" + "iconv-lite": "^0.4.19", + "linebreak": "^0.3.0", + "pdfkit": "^0.8.3" } }, "png-js": { @@ -999,7 +1006,7 @@ "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.3.tgz", "integrity": "sha1-NV8mJQWmIWRrMTCnKOtkfiIFU0E=", "requires": { - "forwarded": "0.1.2", + "forwarded": "~0.1.2", "ipaddr.js": "1.6.0" } }, @@ -1024,8 +1031,8 @@ "integrity": "sha1-hJY/jJwmuULhU/7rU6rnRlK34LI=", "requires": { "buffer-equal": "0.0.1", - "minimist": "1.2.0", - "through2": "2.0.3" + "minimist": "^1.1.3", + "through2": "^2.0.0" } }, "random-bytes": { @@ -1062,7 +1069,7 @@ "depd": "1.1.1", "inherits": "2.0.3", "setprototypeof": "1.0.3", - "statuses": "1.5.0" + "statuses": ">= 1.3.1 < 2" } }, "setprototypeof": { @@ -1077,13 +1084,13 @@ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.7.tgz", "integrity": "sha1-BwV6y+JGeyIELTb5jFrVBwVOlbE=", "requires": { - "buffer-shims": "1.0.0", - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "string_decoder": "1.0.3", - "util-deprecate": "1.0.2" + "buffer-shims": "~1.0.0", + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "string_decoder": "~1.0.0", + "util-deprecate": "~1.0.1" } }, "regenerator-runtime": { @@ -1101,8 +1108,8 @@ "resolved": "https://registry.npmjs.org/require_optional/-/require_optional-1.0.1.tgz", "integrity": "sha1-TPNaQkf2TKPfjC7yCMxJSxyo/C4=", "requires": { - "resolve-from": "2.0.0", - "semver": "5.5.0" + "resolve-from": "^2.0.0", + "semver": "^5.1.0" } }, "resolve": { @@ -1110,7 +1117,7 @@ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.7.1.tgz", "integrity": "sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw==", "requires": { - "path-parse": "1.0.5" + "path-parse": "^1.0.5" } }, "resolve-from": { @@ -1123,7 +1130,7 @@ "resolved": "https://registry.npmjs.org/restructure/-/restructure-0.5.4.tgz", "integrity": "sha1-9U591WNZD7NP1r9Vh2EJrsyyjeg=", "requires": { - "browserify-optional": "1.0.1" + "browserify-optional": "^1.0.0" } }, "safe-buffer": { @@ -1152,18 +1159,18 @@ "integrity": "sha1-bsyh4PjBVtFBWXVZhI32RzCmu8E=", "requires": { "debug": "2.6.9", - "depd": "1.1.2", - "destroy": "1.0.4", - "encodeurl": "1.0.2", - "escape-html": "1.0.3", - "etag": "1.8.1", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", "fresh": "0.5.2", - "http-errors": "1.6.3", + "http-errors": "~1.6.2", "mime": "1.4.1", "ms": "2.0.0", - "on-finished": "2.3.0", - "range-parser": "1.2.0", - "statuses": "1.4.0" + "on-finished": "~2.3.0", + "range-parser": "~1.2.0", + "statuses": "~1.4.0" }, "dependencies": { "statuses": { @@ -1178,9 +1185,9 @@ "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz", "integrity": "sha1-CV6Ecv1bRiN9tQzkhqQ/S4bGzsE=", "requires": { - "encodeurl": "1.0.2", - "escape-html": "1.0.3", - "parseurl": "1.3.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.2", "send": "0.16.2" } }, @@ -1210,7 +1217,7 @@ "resolved": "https://registry.npmjs.org/static-eval/-/static-eval-2.0.0.tgz", "integrity": "sha512-6flshd3F1Gwm+Ksxq463LtFd1liC77N/PX1FVVc3OzL3hAmo2fwHFbuArkcfi7s9rTNsLEhcRmXGFZhlgy40uw==", "requires": { - "escodegen": "1.9.1" + "escodegen": "^1.8.1" } }, "static-module": { @@ -1218,20 +1225,20 @@ "resolved": "https://registry.npmjs.org/static-module/-/static-module-2.2.5.tgz", "integrity": "sha512-D8vv82E/Kpmz3TXHKG8PPsCPg+RAX6cbCOyvjM6x04qZtQ47EtJFVwRsdov3n5d6/6ynrOY9XB4JkaZwB2xoRQ==", "requires": { - "concat-stream": "1.6.2", - "convert-source-map": "1.5.1", - "duplexer2": "0.1.4", - "escodegen": "1.9.1", - "falafel": "2.1.0", - "has": "1.0.1", - "magic-string": "0.22.5", + "concat-stream": "~1.6.0", + "convert-source-map": "^1.5.1", + "duplexer2": "~0.1.4", + "escodegen": "~1.9.0", + "falafel": "^2.1.0", + "has": "^1.0.1", + "magic-string": "^0.22.4", "merge-source-map": "1.0.4", - "object-inspect": "1.4.1", - "quote-stream": "1.0.2", - "readable-stream": "2.3.6", - "shallow-copy": "0.0.1", - "static-eval": "2.0.0", - "through2": "2.0.3" + "object-inspect": "~1.4.0", + "quote-stream": "~1.0.2", + "readable-stream": "~2.3.3", + "shallow-copy": "~0.0.1", + "static-eval": "^2.0.0", + "through2": "~2.0.3" }, "dependencies": { "process-nextick-args": { @@ -1244,13 +1251,13 @@ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "2.0.0", - "safe-buffer": "5.1.1", - "string_decoder": "1.1.1", - "util-deprecate": "1.0.2" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, "string_decoder": { @@ -1258,7 +1265,7 @@ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "requires": { - "safe-buffer": "5.1.1" + "safe-buffer": "~5.1.0" } } } @@ -1273,7 +1280,7 @@ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", "integrity": "sha1-D8Z9fBQYJd6UKC3VNr7GubzoYKs=", "requires": { - "safe-buffer": "5.1.1" + "safe-buffer": "~5.1.0" } }, "through": { @@ -1286,8 +1293,8 @@ "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", "requires": { - "readable-stream": "2.2.7", - "xtend": "4.0.1" + "readable-stream": "^2.1.5", + "xtend": "~4.0.1" } }, "tiny-inflate": { @@ -1300,7 +1307,7 @@ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", "requires": { - "prelude-ls": "1.1.2" + "prelude-ls": "~1.1.2" } }, "type-is": { @@ -1309,7 +1316,7 @@ "integrity": "sha1-+JzjQVQcZysl7nrjxz3uOyvlAZQ=", "requires": { "media-typer": "0.3.0", - "mime-types": "2.1.18" + "mime-types": "~2.1.18" } }, "typedarray": { @@ -1322,7 +1329,7 @@ "resolved": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.5.tgz", "integrity": "sha1-Kz1cckDo/C5Y+Komnl7knAhXvTo=", "requires": { - "random-bytes": "1.0.0" + "random-bytes": "~1.0.0" } }, "unicode-properties": { @@ -1330,8 +1337,8 @@ "resolved": "https://registry.npmjs.org/unicode-properties/-/unicode-properties-1.1.0.tgz", "integrity": "sha1-epbu9J91aC6mnSMV7smsQ//fAME=", "requires": { - "brfs": "1.6.1", - "unicode-trie": "0.3.1" + "brfs": "^1.4.0", + "unicode-trie": "^0.3.0" } }, "unicode-trie": { @@ -1339,8 +1346,8 @@ "resolved": "https://registry.npmjs.org/unicode-trie/-/unicode-trie-0.3.1.tgz", "integrity": "sha1-1nHd3YkQGgi6w3tqUWEBBgIFIIU=", "requires": { - "pako": "0.2.9", - "tiny-inflate": "1.0.2" + "pako": "^0.2.5", + "tiny-inflate": "^1.0.0" } }, "unpipe": { @@ -1392,8 +1399,8 @@ "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.17.tgz", "integrity": "sha1-F76T6q4/O3eTWceVtBlwWogX6Gg=", "requires": { - "sax": "1.2.1", - "xmlbuilder": "4.2.1" + "sax": ">=0.6.0", + "xmlbuilder": "^4.1.0" } }, "xmlbuilder": { @@ -1401,7 +1408,7 @@ "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-4.2.1.tgz", "integrity": "sha1-qlijBBoGb5DqoWwvU4n/GfP0YaU=", "requires": { - "lodash": "4.17.5" + "lodash": "^4.0.0" } }, "xmlhttprequest": { diff --git a/package.json b/package.json index 72bbc5a..2cf3dcc 100644 --- a/package.json +++ b/package.json @@ -18,7 +18,7 @@ "moment": "^2.22.0", "mongoose": "^4.4.5", "mongoose-sequence": "^4.0.0", - "morgan": "^1.7.0", + "morgan": "^1.9.1", "nodemailer": "^4.4.2", "passport": "^0.3.2", "passport-local": "^1.0.0", diff --git a/server/models/group_member.js b/server/models/group_member.js index 83da3aa..7f3bd92 100644 --- a/server/models/group_member.js +++ b/server/models/group_member.js @@ -1,14 +1,14 @@ var mongoose = require('mongoose'); var Schema = mongoose.Schema; -var autoInc = require('mongoose-sequence')(mongoose); +var autoInc = require('mongoose-sequence')(mongoose); var GroupMember = new Schema({ _id: Number, - _user: { - type: Number, - ref: './user.js' + _user: { + type: Number, + ref: 'users' }, - _group: { + _group: { type: Number, ref: './group.js' }, @@ -19,5 +19,5 @@ var GroupMember = new Schema({ } }); -GroupMember.plugin(autoInc, {id: "member_id"}); +GroupMember.plugin(autoInc, { id: "member_id" }); module.exports = mongoose.model('group_member', GroupMember); diff --git a/server/routes/group_member.js b/server/routes/group_member.js index 686d5b6..d187708 100644 --- a/server/routes/group_member.js +++ b/server/routes/group_member.js @@ -1,14 +1,14 @@ var express = require('express'); var router = express.Router(); -var bcrypt = require('bcryptjs'); +var bcrypt = require('bcryptjs'); var User = require('../models/user.js'); var Group = require('../models/group.js'); var GroupMember = require('../models/group_member.js'); //Index -router.get('/', function(req, res) { - GroupMember.find({}, function(err, members) { +router.get('/', function (req, res) { + GroupMember.find({}, function (err, members) { if (err) { res.status(400).send(err); } else { @@ -18,54 +18,43 @@ router.get('/', function(req, res) { }); //Find by params -router.get('/query/fields', function(req, res) { - GroupMember.find(req.query, function(err, member) { - if (err) { - res.status(400).send(err); - } else if (!member){ - res.status(404).send("Membro não encontrado"); - } else { - res.status(200).json(member); - } - }); +router.get('/query/fields', async (req, res) => { + const members = await GroupMember.find(req.query).populate('_user'); + res.send(members); }); //Find groups from user -router.get('/groups', function(req, res) { - GroupMember.find({ _user: req.query._user}, function(err, members) { +router.get('/groups', function (req, res) { + GroupMember.find({ _user: req.query._user }, function (err, members) { if (err) { res.status(400).send(err); - } else if (!members){ + } else if (!members) { res.status(404).send("Membro não encontrado"); } else { promises = members.map(getGroupFromMember); - Promise.all(promises).then(function(results) { - res.status(200).json(results); - }) + Promise.all(promises).then(function (results) { + res.status(200).json(results); + }) } }); }); -var getGroupFromMember = async function(member) { - return Group.findById(member._group).exec(); -} - //Create -router.post('/', function(req, res) { - var member = new GroupMember(); +router.post('/', function (req, res) { + var member = new GroupMember(); - User.findOne({ email: req.body.email}, function(err, user) { + User.findOne({ email: req.body.email }, function (err, user) { if (err) { res.status(400).send(err); } else if (!user) { res.status(404).send("Usuário não encontrado"); } else { - member._user = user._id; - member._group = req.body._group; - member.is_admin = req.body.is_admin; + member._user = user._id; + member._group = req.body._group; + member.is_admin = req.body.is_admin; - member.save(function(err) { + member.save(function (err) { if (err) { res.status(400).send(err); } else { @@ -77,11 +66,11 @@ router.post('/', function(req, res) { }); // Update with post -router.post('/update/:member_id', function(req, res) { - GroupMember.findById(req.params.member_id, function(err, member) { - if (req.body.is_admin !== undefined) member.is_admin = req.body.is_admin; - - member.save(function(err) { +router.post('/update/:member_id', function (req, res) { + GroupMember.findById(req.params.member_id, function (err, member) { + if (req.body.is_admin !== undefined) member.is_admin = req.body.is_admin; + + member.save(function (err) { if (err) { res.status(400).send(err); } else { @@ -92,11 +81,11 @@ router.post('/update/:member_id', function(req, res) { }); // Update -router.put('/:member_id', function(req, res) { - GroupMember.findById(req.params.member_id, function(err, member) { - if (req.body.is_admin !== undefined) member.is_admin = req.body.is_admin; - - member.save(function(err) { +router.put('/:member_id', function (req, res) { + GroupMember.findById(req.params.member_id, function (err, member) { + if (req.body.is_admin !== undefined) member.is_admin = req.body.is_admin; + + member.save(function (err) { if (err) { res.status(400).send(err); } else { @@ -107,8 +96,8 @@ router.put('/:member_id', function(req, res) { }); // Delete with post -router.post('/remove/:member_id', function(req, res) { - GroupMember.remove({ _id: req.params.member_id }, function(err) { +router.post('/remove/:member_id', function (req, res) { + GroupMember.remove({ _id: req.params.member_id }, function (err) { if (err) { res.status(400).send(err); } else { @@ -118,8 +107,8 @@ router.post('/remove/:member_id', function(req, res) { }); // Delete -router.delete('/:member_id', function(req, res) { - GroupMember.remove({ _id: req.params.member_id }, function(err) { +router.delete('/:member_id', function (req, res) { + GroupMember.remove({ _id: req.params.member_id }, function (err) { if (err) { res.status(400).send(err); } else {