From 626d6027934d032ada8ed0ddf79e251048bca86b Mon Sep 17 00:00:00 2001 From: Sendou Date: Sat, 30 Nov 2019 17:28:30 +0200 Subject: [PATCH] new profile settings --- models/user.js | 2 +- package-lock.json | 1842 +---------------- package.json | 6 +- .../src/components/common/WeaponDropdown.js | 9 +- react-ui/src/components/common/WpnImage.js | 4 +- react-ui/src/components/plans/MapPlanner.js | 2 +- react-ui/src/components/user/AddBuildForm.js | 22 +- react-ui/src/components/user/BuildTab.js | 2 +- .../src/components/user/CountryDropdown.js | 26 + react-ui/src/components/user/ProfileLists.js | 82 + react-ui/src/components/user/Settings.js | 144 ++ react-ui/src/components/user/UserPage.js | 116 +- react-ui/src/graphql/mutations/updateUser.js | 17 + react-ui/src/graphql/queries/searchForUser.js | 6 + react-ui/src/utils/lists.js | 444 +++- schemas/user.js | 50 +- utils/countries.js | 490 +++-- 17 files changed, 1049 insertions(+), 2215 deletions(-) create mode 100644 react-ui/src/components/user/CountryDropdown.js create mode 100644 react-ui/src/components/user/ProfileLists.js create mode 100644 react-ui/src/components/user/Settings.js create mode 100644 react-ui/src/graphql/mutations/updateUser.js diff --git a/models/user.js b/models/user.js index 29850bb5c..7c4dfe311 100644 --- a/models/user.js +++ b/models/user.js @@ -8,7 +8,7 @@ const userSchema = new mongoose.Schema({ twitter_name: String, country: String, sens: { - sticks: { type: Number, min: -5, max: 5 }, + stick: { type: Number, min: -5, max: 5 }, motion: { type: Number, min: -5, max: 5 }, }, weapons: [String], diff --git a/package-lock.json b/package-lock.json index f0dc64d0f..9d13ce0d1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -296,24 +296,13 @@ } }, "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", "dev": true, "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - }, - "dependencies": { - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } - } + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" } }, "apollo-cache-control": { @@ -521,47 +510,11 @@ "tslib": "^1.9.3" } }, - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", - "dev": true - }, - "arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", - "dev": true - }, - "arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", - "dev": true - }, "array-flatten": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", - "dev": true - }, - "assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", - "dev": true - }, - "async-each": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", - "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", - "dev": true - }, "async-limiter": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", @@ -575,12 +528,6 @@ "retry": "0.12.0" } }, - "atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "dev": true - }, "axios": { "version": "0.19.0", "resolved": "https://registry.npmjs.org/axios/-/axios-0.19.0.tgz", @@ -601,70 +548,15 @@ "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", "dev": true }, - "base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "dev": true, - "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, "base64url": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/base64url/-/base64url-3.0.1.tgz", "integrity": "sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A==" }, "binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz", + "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==", "dev": true }, "bluebird": { @@ -734,32 +626,12 @@ } }, "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "dev": true, "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } + "fill-range": "^7.0.1" } }, "bson": { @@ -785,23 +657,6 @@ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" }, - "cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "dev": true, - "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" - } - }, "camelcase": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", @@ -826,23 +681,19 @@ } }, "chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.3.0.tgz", + "integrity": "sha512-dGmKLDdT3Gdl7fBUe8XK+gAtGmzy5Fn0XkkWQuYxGIgWVPPse2CxFA5mtrlD0TOHaHjEUqkWNyP1XdHoJES/4A==", "dev": true, "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "fsevents": "^1.2.7", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.1.1", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.2.0" } }, "ci-info": { @@ -851,45 +702,12 @@ "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==", "dev": true }, - "class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "dev": true, - "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.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=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, "cli-boxes": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-1.0.0.tgz", "integrity": "sha1-T6kXw+WclKAEzWH47lCdplFocUM=", "dev": true }, - "collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", - "dev": true, - "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - } - }, "color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", @@ -905,12 +723,6 @@ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", "dev": true }, - "component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", - "dev": true - }, "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -932,9 +744,9 @@ } }, "connect-mongo": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/connect-mongo/-/connect-mongo-3.1.2.tgz", - "integrity": "sha512-UBHOk+T3pj1nTDIb75y/m45sWDt2j9B9nG7C4RkvxGUmK7nA8kAH9lD9FgK06MrKiBTwV25rzXPbGk9yTURzfw==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/connect-mongo/-/connect-mongo-3.2.0.tgz", + "integrity": "sha512-0Mx88079Z20CG909wCFlR3UxhMYGg6Ibn1hkIje1hwsqOLWtL9HJV+XD0DAjUvQScK6WqY/FA8tSVQM9rR64Rw==", "requires": { "mongodb": "^3.1.0" } @@ -969,23 +781,11 @@ "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" }, - "copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", - "dev": true - }, "core-js": { "version": "3.4.2", "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.4.2.tgz", "integrity": "sha512-bUTfqFWtNKWp73oNIfRkqwYZJeNT3lstzZcAkhhiuvDraRSgOH1/+F9ZklbpR4zpdKuo4cpXN8tKP7s61yjX+g==" }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "dev": true - }, "cors": { "version": "2.8.5", "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", @@ -1047,12 +847,6 @@ "ms": "2.0.0" } }, - "decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", - "dev": true - }, "deep-extend": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", @@ -1067,47 +861,6 @@ "object-keys": "^1.0.12" } }, - "define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "dev": true, - "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, - "dependencies": { - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, "depd": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", @@ -1224,41 +977,6 @@ "strip-eof": "^1.0.0" } }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "dev": true, - "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.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=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, "express": { "version": "4.17.1", "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", @@ -1325,118 +1043,18 @@ } } }, - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dev": true, - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "dev": true, - "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, "fast-json-stable-stringify": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" }, "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "dev": true, "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } + "to-regex-range": "^5.0.1" } }, "finalhandler": { @@ -1471,26 +1089,11 @@ } } }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "dev": true - }, "forwarded": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=" }, - "fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", - "dev": true, - "requires": { - "map-cache": "^0.2.2" - } - }, "fresh": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", @@ -1502,552 +1105,11 @@ "integrity": "sha512-8S4f4WsCryNw2mJJchi46YgB6CR5Ze+4L1h8ewl9tEpL4SJ3ZO+c/bS4BWhB8bK+O3TMqhuZarTitd0S0eh2pA==" }, "fsevents": { - "version": "1.2.9", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.9.tgz", - "integrity": "sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.2.tgz", + "integrity": "sha512-R4wDiBwZ0KzpgOWetKDug1FZcYhqYnUYKtfZYt4mD5SBz76q0KR4Q9o7GIPamsVPGmW3EYPPJ0dOOjvx32ldZA==", "dev": true, - "optional": true, - "requires": { - "nan": "^2.12.1", - "node-pre-gyp": "^0.12.0" - }, - "dependencies": { - "abbrev": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "ansi-regex": { - "version": "2.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "aproba": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "optional": true - }, - "are-we-there-yet": { - "version": "1.1.5", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - } - }, - "balanced-match": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "brace-expansion": { - "version": "1.1.11", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "chownr": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "code-point-at": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "optional": true - }, - "concat-map": { - "version": "0.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "console-control-strings": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "optional": true - }, - "core-util-is": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "debug": { - "version": "4.1.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ms": "^2.1.1" - } - }, - "deep-extend": { - "version": "0.6.0", - "bundled": true, - "dev": true, - "optional": true - }, - "delegates": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "detect-libc": { - "version": "1.0.3", - "bundled": true, - "dev": true, - "optional": true - }, - "fs-minipass": { - "version": "1.2.5", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minipass": "^2.2.1" - } - }, - "fs.realpath": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "gauge": { - "version": "2.7.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - } - }, - "glob": { - "version": "7.1.3", - "bundled": true, - "dev": true, - "optional": 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" - } - }, - "has-unicode": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "iconv-lite": { - "version": "0.4.24", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "ignore-walk": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minimatch": "^3.0.4" - } - }, - "inflight": { - "version": "1.0.6", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.3", - "bundled": true, - "dev": true, - "optional": true - }, - "ini": { - "version": "1.3.5", - "bundled": true, - "dev": true, - "optional": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "isarray": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "minimatch": { - "version": "3.0.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "0.0.8", - "bundled": true, - "dev": true, - "optional": true - }, - "minipass": { - "version": "2.3.5", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" - } - }, - "minizlib": { - "version": "1.2.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minipass": "^2.2.1" - } - }, - "mkdirp": { - "version": "0.5.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minimist": "0.0.8" - } - }, - "ms": { - "version": "2.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "needle": { - "version": "2.3.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "debug": "^4.1.0", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" - } - }, - "node-pre-gyp": { - "version": "0.12.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "detect-libc": "^1.0.2", - "mkdirp": "^0.5.1", - "needle": "^2.2.1", - "nopt": "^4.0.1", - "npm-packlist": "^1.1.6", - "npmlog": "^4.0.2", - "rc": "^1.2.7", - "rimraf": "^2.6.1", - "semver": "^5.3.0", - "tar": "^4" - } - }, - "nopt": { - "version": "4.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "abbrev": "1", - "osenv": "^0.1.4" - } - }, - "npm-bundled": { - "version": "1.0.6", - "bundled": true, - "dev": true, - "optional": true - }, - "npm-packlist": { - "version": "1.4.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1" - } - }, - "npmlog": { - "version": "4.1.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" - } - }, - "number-is-nan": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "object-assign": { - "version": "4.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "once": { - "version": "1.4.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "wrappy": "1" - } - }, - "os-homedir": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "os-tmpdir": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "osenv": { - "version": "0.1.5", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "process-nextick-args": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "rc": { - "version": "1.2.8", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "optional": true - } - } - }, - "readable-stream": { - "version": "2.3.6", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "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" - } - }, - "rimraf": { - "version": "2.6.3", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "glob": "^7.1.3" - } - }, - "safe-buffer": { - "version": "5.1.2", - "bundled": true, - "dev": true, - "optional": true - }, - "safer-buffer": { - "version": "2.1.2", - "bundled": true, - "dev": true, - "optional": true - }, - "sax": { - "version": "1.2.4", - "bundled": true, - "dev": true, - "optional": true - }, - "semver": { - "version": "5.7.0", - "bundled": true, - "dev": true, - "optional": true - }, - "set-blocking": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "signal-exit": { - "version": "3.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "string-width": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "string_decoder": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "tar": { - "version": "4.4.8", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "chownr": "^1.1.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.3.4", - "minizlib": "^1.1.1", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.2", - "yallist": "^3.0.2" - } - }, - "util-deprecate": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "wide-align": { - "version": "1.1.3", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "string-width": "^1.0.2 || 2" - } - }, - "wrappy": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "yallist": { - "version": "3.0.3", - "bundled": true, - "dev": true, - "optional": true - } - } + "optional": true }, "function-bind": { "version": "1.1.1", @@ -2060,31 +1122,13 @@ "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", "dev": true }, - "get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", - "dev": true - }, "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz", + "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==", "dev": true, "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "requires": { - "is-extglob": "^2.1.0" - } - } + "is-glob": "^4.0.1" } }, "global-dirs": { @@ -2116,9 +1160,9 @@ } }, "graceful-fs": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.2.tgz", - "integrity": "sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", + "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==", "dev": true }, "graphql": { @@ -2194,44 +1238,6 @@ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==" }, - "has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", - "dev": true, - "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - } - }, - "has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "dependencies": { - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true - }, - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, "http-errors": { "version": "1.7.3", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz", @@ -2286,39 +1292,13 @@ "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.0.tgz", "integrity": "sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA==" }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, "is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "dev": true, "requires": { - "binary-extensions": "^1.0.0" + "binary-extensions": "^2.0.0" } }, "is-buffer": { @@ -2340,62 +1320,11 @@ "ci-info": "^1.5.0" } }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, "is-date-object": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=" }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true - }, "is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", @@ -2434,30 +1363,10 @@ "dev": true }, "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true }, "is-obj": { "version": "1.0.1", @@ -2474,15 +1383,6 @@ "path-is-inside": "^1.0.1" } }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "requires": { - "isobject": "^3.0.1" - } - }, "is-redirect": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz", @@ -2517,30 +1417,12 @@ "has-symbols": "^1.0.1" } }, - "is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", - "dev": true - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", "dev": true }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - }, "iterall": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/iterall/-/iterall-1.2.2.tgz", @@ -2551,12 +1433,6 @@ "resolved": "https://registry.npmjs.org/kareem/-/kareem-2.3.1.tgz", "integrity": "sha512-l3hLhffs9zqoDe8zjmb/mAN4B8VT3L56EUvKNqLFVs9YlFA+zx7ke1DO8STAdDyYNkeSo1nKmjuvQeI12So8Xw==" }, - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", - "dev": true - }, "latest-version": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-3.1.0.tgz", @@ -2614,21 +1490,6 @@ "pify": "^3.0.0" } }, - "map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", - "dev": true - }, - "map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", - "dev": true, - "requires": { - "object-visit": "^1.0.0" - } - }, "media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", @@ -2650,27 +1511,6 @@ "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, "mime": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", @@ -2704,31 +1544,10 @@ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "dev": true }, - "mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", - "dev": true, - "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, "mongodb": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.3.3.tgz", - "integrity": "sha512-MdRnoOjstmnrKJsK8PY0PjP6fyF/SBS4R8coxmhsfEU7tQ46/J6j+aSHF2n4c2/H8B+Hc/Klbfp8vggZfI0mmA==", + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.3.5.tgz", + "integrity": "sha512-6NAv5gTFdwRyVfCz+O+KDszvjpyxmZw+VlmqmqKR2GmpkeKrKFRv/ZslgTtZba2dc9JYixIf99T5Gih7TIWv7Q==", "requires": { "bson": "^1.1.1", "require_optional": "^1.0.1", @@ -2737,13 +1556,13 @@ } }, "mongoose": { - "version": "5.7.12", - "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-5.7.12.tgz", - "integrity": "sha512-TqRiJPUeHN1u7Xs/zQmiMHcrzEb1/uKjK3uGzZhyqw25RKQiMV2vSBeBTMt5HXoYlUuDEWXE75FMjpK9X9kD0w==", + "version": "5.7.13", + "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-5.7.13.tgz", + "integrity": "sha512-MoTCETTIfXU1PqIYc+YAkhSB3uzK5xseh6ysAUnoOowkqS66OjBJtsL/bcgAKi6XfMYkFU6M1abKyuL7k//xeg==", "requires": { "bson": "~1.1.1", "kareem": "2.3.1", - "mongodb": "3.3.4", + "mongodb": "3.3.5", "mongoose-legacy-pluralize": "1.0.2", "mpath": "0.6.0", "mquery": "3.2.2", @@ -2754,17 +1573,6 @@ "sliced": "1.0.1" }, "dependencies": { - "mongodb": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.3.4.tgz", - "integrity": "sha512-6fmHu3FJTpeZxacJcfjUGIP3BSteG0l2cxLkSrf1nnnS1OrlnVGiP9P/wAC4aB6dM6H4vQ2io8YDjkuPkje7AA==", - "requires": { - "bson": "^1.1.1", - "require_optional": "^1.0.1", - "safe-buffer": "^5.1.2", - "saslprep": "^1.0.0" - } - }, "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -2828,32 +1636,6 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" }, - "nan": { - "version": "2.14.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", - "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==", - "dev": true, - "optional": true - }, - "nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - } - }, "negotiator": { "version": "0.6.2", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", @@ -2865,12 +1647,12 @@ "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==" }, "nodemon": { - "version": "1.19.4", - "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-1.19.4.tgz", - "integrity": "sha512-VGPaqQBNk193lrJFotBU8nvWZPqEZY2eIzymy2jjY0fJ9qIsxA0sxQ8ATPl0gZC645gijYEc1jtZvpS8QWzJGQ==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.1.tgz", + "integrity": "sha512-UC6FVhNLXjbbV4UzaXA3wUdbEkUZzLGgMGzmxvWAex5nzib/jhcSHVFlQODdbuUHq8SnnZ4/EABBAbC3RplvPg==", "dev": true, "requires": { - "chokidar": "^2.1.8", + "chokidar": "^3.2.2", "debug": "^3.2.6", "ignore-by-default": "^1.0.1", "minimatch": "^3.0.4", @@ -2933,43 +1715,6 @@ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" }, - "object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", - "dev": true, - "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=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, "object-inspect": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz", @@ -2985,15 +1730,6 @@ "resolved": "https://registry.npmjs.org/object-path/-/object-path-0.11.4.tgz", "integrity": "sha1-NwrnUvvzfePqcKhhwju6iRVpGUk=" }, - "object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", - "dev": true, - "requires": { - "isobject": "^3.0.0" - } - }, "object.getownpropertydescriptors": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz", @@ -3003,15 +1739,6 @@ "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=", - "dev": true, - "requires": { - "isobject": "^3.0.1" - } - }, "on-finished": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", @@ -3048,12 +1775,6 @@ "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" }, - "pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", - "dev": true - }, "passport": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/passport/-/passport-0.4.0.tgz", @@ -3088,18 +1809,6 @@ "resolved": "https://registry.npmjs.org/passport-strategy/-/passport-strategy-1.0.0.tgz", "integrity": "sha1-tVOaqPwiWj0a0XlHbd8ja0QPUuQ=" }, - "path-dirname": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", - "dev": true - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true - }, "path-is-inside": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", @@ -3122,30 +1831,24 @@ "resolved": "https://registry.npmjs.org/pause/-/pause-0.0.1.tgz", "integrity": "sha1-HUCLP9t2kjuVQ9lvtMnf1TXZy10=" }, + "picomatch": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.1.1.tgz", + "integrity": "sha512-OYMyqkKzK7blWO/+XZYP6w8hH0LDvkBvdvKukti+7kqYFCiEAk+gI3DWnryapc0Dau05ugGTy0foQ6mqn4AHYA==", + "dev": true + }, "pify": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", "dev": true }, - "posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", - "dev": true - }, "prepend-http": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", "dev": true }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true - }, "proxy-addr": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.5.tgz", @@ -3224,48 +1927,13 @@ "strip-json-comments": "~2.0.1" } }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, - "requires": { - "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" - }, - "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==", - "dev": true - } - } - }, "readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.2.0.tgz", + "integrity": "sha512-crk4Qu3pmXwgxdSgGhgA/eXiJAPQiX4GMOZZMXnqKxHX7TaoL+3gQVo/WeuAiogr07DpnfjIMpXXa+PAIvwPGQ==", "dev": true, "requires": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - } - }, - "regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", - "dev": true, - "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" + "picomatch": "^2.0.4" } }, "regexp-clone": { @@ -3292,24 +1960,6 @@ "rc": "^1.0.1" } }, - "remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", - "dev": true - }, - "repeat-element": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", - "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", - "dev": true - }, - "repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", - "dev": true - }, "require_optional": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/require_optional/-/require_optional-1.0.1.tgz", @@ -3324,18 +1974,6 @@ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz", "integrity": "sha1-lICrIOlP+h2egKgEx+oUdhGWa1c=" }, - "resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", - "dev": true - }, - "ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", - "dev": true - }, "retry": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", @@ -3346,15 +1984,6 @@ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz", "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==" }, - "safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", - "dev": true, - "requires": { - "ret": "~0.1.10" - } - }, "safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", @@ -3421,29 +2050,6 @@ "send": "0.17.1" } }, - "set-value": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", - "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, "setprototypeof": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", @@ -3489,144 +2095,6 @@ "resolved": "https://registry.npmjs.org/sliced/-/sliced-1.0.1.tgz", "integrity": "sha1-CzpmK10Ewxd7GSa+qCsD+Dei70E=" }, - "snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", - "dev": true, - "requires": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" - }, - "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=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", - "dev": true, - "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", - "dev": true, - "requires": { - "kind-of": "^3.2.0" - }, - "dependencies": { - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "source-map-resolve": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", - "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", - "dev": true, - "requires": { - "atob": "^2.1.1", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - }, - "source-map-url": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", - "dev": true - }, "sparse-bitfield": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz", @@ -3636,36 +2104,6 @@ "memory-pager": "^1.0.2" } }, - "split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", - "dev": true, - "requires": { - "extend-shallow": "^3.0.0" - } - }, - "static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", - "dev": true, - "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "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=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, "statuses": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", @@ -3704,23 +2142,6 @@ "function-bind": "^1.1.1" } }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - }, - "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==", - "dev": true - } - } - }, "strip-ansi": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", @@ -3793,52 +2214,13 @@ "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=", "dev": true }, - "to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", - "dev": true, - "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" - } - }, "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" + "is-number": "^7.0.0" } }, "toidentifier": { @@ -3899,18 +2281,6 @@ "debug": "^2.2.0" } }, - "union-value": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", - "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", - "dev": true, - "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" - } - }, "unique-string": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz", @@ -3925,58 +2295,12 @@ "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" }, - "unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", - "dev": true, - "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "dependencies": { - "has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", - "dev": true, - "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "dependencies": { - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dev": true, - "requires": { - "isarray": "1.0.0" - } - } - } - }, - "has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", - "dev": true - } - } - }, "unzip-response": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-2.0.1.tgz", "integrity": "sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c=", "dev": true }, - "upath": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", - "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", - "dev": true - }, "update-notifier": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-2.5.0.tgz", @@ -3995,12 +2319,6 @@ "xdg-basedir": "^3.0.0" } }, - "urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", - "dev": true - }, "url-parse-lax": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", @@ -4010,18 +2328,6 @@ "prepend-http": "^1.0.1" } }, - "use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", - "dev": true - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true - }, "util.promisify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", diff --git a/package.json b/package.json index adc7a7168..e3c29d145 100644 --- a/package.json +++ b/package.json @@ -16,19 +16,19 @@ "apollo-server-express": "^2.9.12", "axios": "^0.19.0", "btoa": "^1.2.1", - "connect-mongo": "^3.1.2", + "connect-mongo": "^3.2.0", "cors": "^2.8.5", "dotenv": "^8.2.0", "express-session": "^1.17.0", "graphql": "^14.5.8", "lodash": "^4.17.15", - "mongoose": "^5.7.12", + "mongoose": "^5.7.13", "mongoose-unique-validator": "^2.0.3", "node-fetch": "^2.6.0", "passport": "^0.4.0", "passport-discord": "^0.1.3" }, "devDependencies": { - "nodemon": "^1.19.4" + "nodemon": "^2.0.0" } } diff --git a/react-ui/src/components/common/WeaponDropdown.js b/react-ui/src/components/common/WeaponDropdown.js index 4d0193ca5..1d7a943c2 100644 --- a/react-ui/src/components/common/WeaponDropdown.js +++ b/react-ui/src/components/common/WeaponDropdown.js @@ -10,7 +10,8 @@ const WeaponDropdown = ({ onChange, multiple = false, showImages = true, - nonMultiplePlaceholder = "Choose a weapon" + nonMultiplePlaceholder = "Choose a weapon", + style = {}, }) => { return ( ({ key: w, text: w, value: w, image: showImages ? { - src: wpnSmall[weaponDict[w]] + src: wpnSmall[weaponDict[w]], } - : null + : null, }))} /> ) diff --git a/react-ui/src/components/common/WpnImage.js b/react-ui/src/components/common/WpnImage.js index 79d50c3eb..11ca084d8 100644 --- a/react-ui/src/components/common/WpnImage.js +++ b/react-ui/src/components/common/WpnImage.js @@ -4,9 +4,9 @@ import english_internal from "../../utils/english_internal.json" import { wpnSmall, wpnMedium } from "../../assets/imageImports" import { Image } from "semantic-ui-react" -const WpnImage = ({ weapon, size = "MEDIUM" }) => { +const WpnImage = ({ weapon, size = "MEDIUM", style = {} }) => { const dictToUse = size === "MEDIUM" ? wpnMedium : wpnSmall - return + return } export default WpnImage diff --git a/react-ui/src/components/plans/MapPlanner.js b/react-ui/src/components/plans/MapPlanner.js index 5f5e04ac6..faa128266 100644 --- a/react-ui/src/components/plans/MapPlanner.js +++ b/react-ui/src/components/plans/MapPlanner.js @@ -303,7 +303,7 @@ const MapPlanner = () => { value={controlledValue} onChange={onSketchChange} tool={tool} - style={{ position: "relative", left: "-20px" }} + style={{ position: "relative", left: "-27px" }} />
+ + + +
+ + ) +} + +export default Settings diff --git a/react-ui/src/components/user/UserPage.js b/react-ui/src/components/user/UserPage.js index cffb14c43..e651d7661 100644 --- a/react-ui/src/components/user/UserPage.js +++ b/react-ui/src/components/user/UserPage.js @@ -1,5 +1,5 @@ import React, { useState, useEffect } from "react" -import { Tab, Image, List, Grid } from "semantic-ui-react" +import { Tab, Image, Grid, Button, Message } from "semantic-ui-react" import { Redirect } from "react-router-dom" import { useQuery } from "@apollo/react-hooks" import { useParams } from "react-router-dom" @@ -10,6 +10,8 @@ import BuildTab from "./BuildTab" import Loading from "../common/Loading" import Error from "../common/Error" import { useQueryParam, NumberParam } from "use-query-params" +import Settings from "./Settings" +import ProfileLists from "./ProfileLists" const UserPage = () => { const { id } = useParams() @@ -20,6 +22,25 @@ const UserPage = () => { const userLeanQuery = useQuery(userLean) const [activeIndex, setActiveIndex] = useState(tab ? tab : 0) + const [showSettings, setShowSettings] = useState(false) + const [successMsg, setSuccessMsg] = useState(null) + const [errorMsg, setErrorMsg] = useState(null) + + const handleError = error => { + console.error(error) + setErrorMsg(error.message) + setTimeout(() => { + setErrorMsg(null) + }, 10000) + } + + const handleSuccess = () => { + setShowSettings(false) + setSuccessMsg("Profile successfully updated!") + setTimeout(() => { + setSuccessMsg(null) + }, 10000) + } useEffect(() => { if (loading || !data || !data.searchForUser) return @@ -36,53 +57,6 @@ const UserPage = () => { const userData = data.searchForUser if (!userData) return - const twitterDiscord = () => { - if (userData.twitch_name && userData.twitter_name) { - return ( - <> - - - - - {userData.twitter_name} - - - - - - - - {userData.twitch_name} - - - - - ) - } else if (userData.twitch_name) { - return ( - - - - - {userData.twitch_name} - - - - ) - } else if (userData.twitter_name) { - return ( - - - - - {userData.twitter_name} - - - - ) - } - } - const panes = [ { menuItem: "Builds", @@ -110,7 +84,7 @@ const UserPage = () => { return ( <> <> - + {userData.twitter_name && ( { /> )} + - - - - {`${userData.username}#${userData.discriminator}`} - - {twitterDiscord()} - + {!showSettings && userData.id === userLeanQuery.data.user.id && ( + + )} + {successMsg && {successMsg}} + {errorMsg && {errorMsg}}
- + {showSettings ? ( + setShowSettings(false)} + handleSuccess={() => handleSuccess()} + handleError={() => handleError()} + /> + ) : ( + + )}
) diff --git a/react-ui/src/graphql/mutations/updateUser.js b/react-ui/src/graphql/mutations/updateUser.js new file mode 100644 index 000000000..38cdd5117 --- /dev/null +++ b/react-ui/src/graphql/mutations/updateUser.js @@ -0,0 +1,17 @@ +import { gql } from "apollo-boost" + +export const updateUser = gql` + mutation updateUser( + $country: String + $motion_sens: Float + $stick_sens: Float + $weapons: [String] + ) { + updateUser( + country: $country + motion_sens: $motion_sens + stick_sens: $stick_sens + weapons: $weapons + ) + } +` diff --git a/react-ui/src/graphql/queries/searchForUser.js b/react-ui/src/graphql/queries/searchForUser.js index d89d973fd..688d6183a 100644 --- a/react-ui/src/graphql/queries/searchForUser.js +++ b/react-ui/src/graphql/queries/searchForUser.js @@ -9,6 +9,12 @@ export const searchForUser = gql` discord_id twitch_name twitter_name + country + weapons + sens { + stick + motion + } } } ` diff --git a/react-ui/src/utils/lists.js b/react-ui/src/utils/lists.js index 31ee44b77..bf439e34a 100644 --- a/react-ui/src/utils/lists.js +++ b/react-ui/src/utils/lists.js @@ -1,10 +1,252 @@ +export const countries = [ + { code: "af", name: "Afghanistan" }, + { code: "ax", name: "Åland Islands" }, + { code: "al", name: "Albania" }, + { code: "dz", name: "Algeria" }, + { code: "as", name: "American Samoa" }, + { code: "ad", name: "Andorra" }, + { code: "ao", name: "Angola" }, + { code: "ai", name: "Anguilla" }, + { code: "ag", name: "Antigua and Barbuda" }, + { code: "ar", name: "Argentina" }, + { code: "am", name: "Armenia" }, + { code: "aw", name: "Aruba" }, + { code: "au", name: "Australia" }, + { code: "at", name: "Austria" }, + { code: "az", name: "Azerbaijan" }, + { code: "bs", name: "Bahamas" }, + { code: "bh", name: "Bahrain" }, + { code: "bd", name: "Bangladesh" }, + { code: "bb", name: "Barbados" }, + { code: "by", name: "Belarus" }, + { code: "be", name: "Belgium" }, + { code: "bz", name: "Belize" }, + { code: "bj", name: "Benin" }, + { code: "bm", name: "Bermuda" }, + { code: "bt", name: "Bhutan" }, + { code: "bo", name: "Bolivia, Plurinational State of" }, + { code: "ba", name: "Bosnia and Herzegovina" }, + { code: "bw", name: "Botswana" }, + { code: "bv", name: "Bouvet Island" }, + { code: "br", name: "Brazil" }, + { code: "io", name: "BritishIndian Ocean Territory" }, + { code: "bn", name: "Brunei Darussalam" }, + { code: "bg", name: "Bulgaria" }, + { code: "bf", name: "Burkina Faso" }, + { code: "bi", name: "Burundi" }, + { code: "kh", name: "Cambodia" }, + { code: "cm", name: "Cameroon" }, + { code: "ca", name: "Canada" }, + { code: "cv", name: "Cape Verde" }, + { code: "ky", name: "Cayman Islands" }, + { code: "cf", name: "Central African Republic" }, + { code: "td", name: "Chad" }, + { code: "cl", name: "Chile" }, + { code: "cn", name: "China" }, + { code: "cx", name: "Christmas Island" }, + { code: "cc", name: "Cocos (Keeling) Islands" }, + { code: "co", name: "Colombia" }, + { code: "km", name: "Comoros" }, + { code: "cg", name: "Congo" }, + { code: "cd", name: "Congo, the Democratic Republic of the" }, + { code: "ck", name: "Cook Islands" }, + { code: "cr", name: "Costa Rica" }, + { code: "ci", name: "Côte d'Ivoire" }, + { code: "hr", name: "Croatia" }, + { code: "cu", name: "Cuba" }, + { code: "cy", name: "Cyprus" }, + { code: "cz", name: "Czech Republic" }, + { code: "dk", name: "Denmark" }, + { code: "dj", name: "Djibouti" }, + { code: "dm", name: "Dominica" }, + { code: "do", name: "Dominican Republic" }, + { code: "ec", name: "Ecuador" }, + { code: "eg", name: "Egypt" }, + { code: "sv", name: "El Salvador" }, + { code: "gq", name: "Equatorial Guinea" }, + { code: "er", name: "Eritrea" }, + { code: "ee", name: "Estonia" }, + { code: "et", name: "Ethiopia" }, + { code: "fk", name: "Falkland Islands (Malvinas)" }, + { code: "fo", name: "FaroeIslands" }, + { code: "fj", name: "Fiji" }, + { code: "fi", name: "Finland" }, + { code: "fr", name: "France" }, + { code: "gf", name: "French Guiana" }, + { code: "pf", name: "French Polynesia" }, + { code: "tf", name: "French Southern Territories" }, + { code: "ga", name: "Gabon" }, + { code: "gm", name: "Gambia" }, + { code: "ge", name: "Georgia" }, + { code: "de", name: "Germany" }, + { code: "gh", name: "Ghana" }, + { code: "gi", name: "Gibraltar" }, + { code: "gr", name: "Greece" }, + { code: "gl", name: "Greenland" }, + { code: "gd", name: "Grenada" }, + { code: "gp", name: "Guadeloupe" }, + { code: "gu", name: "Guam" }, + { code: "gt", name: "Guatemala" }, + { code: "gn", name: "Guinea" }, + { code: "gw", name: "Guinea-Bissau" }, + { code: "gy", name: "Guyana" }, + { code: "ht", name: "Haiti" }, + { code: "hm", name: "Heard Island and McDonald Islands" }, + { code: "va", name: "Holy See (Vatican City State)" }, + { code: "hn", name: "Honduras" }, + { code: "hk", name: "Hong Kong" }, + { code: "hu", name: "Hungary" }, + { code: "is", name: "Iceland" }, + { code: "in", name: "India" }, + { code: "id", name: "Indonesia" }, + { code: "ir", name: "Iran, Islamic Republic of" }, + { code: "iq", name: "Iraq" }, + { code: "ie", name: "Ireland" }, + { code: "il", name: "Israel" }, + { code: "it", name: "Italy" }, + { code: "jm", name: "Jamaica" }, + { code: "jp", name: "Japan" }, + { code: "jo", name: "Jordan" }, + { code: "kz", name: "Kazakhstan" }, + { code: "ke", name: "Kenya" }, + { code: "ki", name: "Kiribati" }, + { code: "kp", name: "Korea, Democratic People'sRepublic of" }, + { code: "kr", name: "Korea, Republic of" }, + { code: "kw", name: "Kuwait" }, + { code: "kg", name: "Kyrgyzstan" }, + { code: "la", name: "Lao People's Democratic Republic" }, + { code: "lv", name: "Latvia" }, + { code: "lb", name: "Lebanon" }, + { code: "ls", name: "Lesotho" }, + { code: "lr", name: "Liberia" }, + { code: "ly", name: "Libya" }, + { code: "li", name: "Liechtenstein" }, + { code: "lt", name: "Lithuania" }, + { code: "lu", name: "Luxembourg" }, + { code: "mo", name: "Macao" }, + { code: "mk", name: "Macedonia, the Former Yugoslav Republic of" }, + { code: "mg", name: "Madagascar" }, + { code: "mw", name: "Malawi" }, + { code: "my", name: "Malaysia" }, + { code: "mv", name: "Maldives" }, + { code: "ml", name: "Mali" }, + { code: "mt", name: "Malta" }, + { code: "mh", name: "Marshall Islands" }, + { code: "mq", name: "Martinique" }, + { code: "mr", name: "Mauritania" }, + { code: "mu", name: "Mauritius" }, + { code: "yt", name: "Mayotte" }, + { code: "mx", name: "Mexico" }, + { code: "fm", name: "Micronesia, Federated States of" }, + { code: "md", name: "Moldova, Republic of" }, + { code: "mc", name: "Monaco" }, + { code: "mn", name: "Mongolia" }, + { code: "me", name: "Montenegro" }, + { code: "ms", name: "Montserrat" }, + { code: "ma", name: "Morocco" }, + { code: "mz", name: "Mozambique" }, + { code: "mm", name: "Myanmar" }, + { code: "na", name: "Namibia" }, + { code: "nr", name: "Nauru" }, + { code: "np", name: "Nepal" }, + { code: "nl", name: "Netherlands" }, + { code: "nc", name: "New Caledonia" }, + { code: "nz", name: "New Zealand" }, + { code: "ni", name: "Nicaragua" }, + { code: "ne", name: "Niger" }, + { code: "ng", name: "Nigeria" }, + { code: "nu", name: "Niue" }, + { code: "nf", name: "Norfolk Island" }, + { code: "mp", name: "Northern Mariana Islands" }, + { code: "no", name: "Norway" }, + { code: "om", name: "Oman" }, + { code: "pk", name: "Pakistan" }, + { code: "pw", name: "Palau" }, + { code: "ps", name: "Palestine, State of" }, + { code: "pa", name: "Panama" }, + { code: "pg", name: "Papua New Guinea" }, + { code: "py", name: "Paraguay" }, + { code: "pe", name: "Peru" }, + { code: "ph", name: "Philippines" }, + { code: "pn", name: "Pitcairn" }, + { code: "pl", name: "Poland" }, + { code: "pt", name: "Portugal" }, + { code: "pr", name: "Puerto Rico" }, + { code: "qa", name: "Qatar" }, + { code: "re", name: "Réunion" }, + { code: "ro", name: "Romania" }, + { code: "ru", name: "Russian Federation" }, + { code: "rw", name: "Rwanda" }, + { code: "sh", name: "Saint Helena, Ascension and Tristan da Cunha" }, + { code: "kn", name: "Saint Kitts and Nevis" }, + { code: "lc", name: "Saint Lucia" }, + { code: "pm", name: "Saint Pierre and Miquelon" }, + { code: "vc", name: "Saint Vincent and the Grenadines" }, + { code: "ws", name: "Samoa" }, + { code: "sm", name: "San Marino" }, + { code: "st", name: "Sao Tome and Principe" }, + { code: "sa", name: "Saudi Arabia" }, + { code: "sn", name: "Senegal" }, + { code: "rs", name: "Serbia" }, + { code: "sc", name: "Seychelles" }, + { code: "sl", name: "Sierra Leone" }, + { code: "sg", name: "Singapore" }, + { code: "sk", name: "Slovakia" }, + { code: "si", name: "Slovenia" }, + { code: "sb", name: "Solomon Islands" }, + { code: "so", name: "Somalia" }, + { code: "za", name: "South Africa" }, + { code: "gs", name: "South Georgia and the South Sandwich Islands" }, + { code: "es", name: "Spain" }, + { code: "lk", name: "Sri Lanka" }, + { code: "sd", name: "Sudan" }, + { code: "sr", name: "Suriname" }, + { code: "sj", name: "Svalbard and Jan Mayen" }, + { code: "sz", name: "Swaziland" }, + { code: "se", name: "Sweden" }, + { code: "ch", name: "Switzerland" }, + { code: "sy", name: "Syrian Arab Republic" }, + { code: "tw", name: "Taiwan, Province of China" }, + { code: "tj", name: "Tajikistan" }, + { code: "tz", name: "Tanzania, United Republic of" }, + { code: "th", name: "Thailand" }, + { code: "tl", name: "Timor-Leste" }, + { code: "tg", name: "Togo" }, + { code: "tk", name: "Tokelau" }, + { code: "to", name: "Tonga" }, + { code: "tt", name: "Trinidad and Tobago" }, + { code: "tn", name: "Tunisia" }, + { code: "tr", name: "Turkey" }, + { code: "tm", name: "Turkmenistan" }, + { code: "tc", name: "Turks and Caicos Islands" }, + { code: "tv", name: "Tuvalu" }, + { code: "ug", name: "Uganda" }, + { code: "ua", name: "Ukraine" }, + { code: "ae", name: "United Arab Emirates" }, + { code: "gb", name: "United Kingdom" }, + { code: "us", name: "United States" }, + { code: "um", name: "United States Minor Outlying Islands" }, + { code: "uy", name: "Uruguay" }, + { code: "uz", name: "Uzbekistan" }, + { code: "vu", name: "Vanuatu" }, + { code: "ve", name: "Venezuela, Bolivarian Republic of" }, + { code: "vn", name: "Viet Nam" }, + { code: "vg", name: "Virgin Islands, British" }, + { code: "vi", name: "Virgin Islands, U.S." }, + { code: "wf", name: "Wallis and Futuna" }, + { code: "eh", name: "Western Sahara" }, + { code: "ye", name: "Yemen" }, + { code: "zm", name: "Zambia" }, + { code: "zw", name: "Zimbabwe" }, +] + export const modes = [ "", "Splat Zones", "Tower Control", "Rainmaker", - "Clam Blitz" -]; + "Clam Blitz", +] export const months = [ "", @@ -19,8 +261,8 @@ export const months = [ "September", "October", "November", - "December" -]; + "December", +] export const weapons = [ "Sploosh-o-matic", @@ -151,8 +393,8 @@ export const weapons = [ "Tenta Camo Brella", "Undercover Brella", "Undercover Sorella Brella", - "Kensa Undercover Brella" -]; + "Kensa Undercover Brella", +] export const shooters = [ "Sploosh-o-matic", @@ -181,8 +423,8 @@ export const shooters = [ ".96 Gal", ".96 Gal Deco", "Jet Squelcher", - "Custom Jet Squelcher" -]; + "Custom Jet Squelcher", +] export const semiauto = [ "L-3 Nozzlenose", @@ -192,8 +434,8 @@ export const semiauto = [ "H-3 Nozzlenose D", "Cherry H-3 Nozzlenose", "Squeezer", - "Foil Squeezer" -]; + "Foil Squeezer", +] export const blasters = [ "Luna Blaster", @@ -210,8 +452,8 @@ export const blasters = [ "Rapid Blaster Pro", "Rapid Blaster Pro Deco", "Clash Blaster", - "Clash Blaster Neo" -]; + "Clash Blaster Neo", +] export const rollers = [ "Carbon Roller", @@ -223,8 +465,8 @@ export const rollers = [ "Gold Dynamo Roller", "Kensa Dynamo Roller", "Flingza Roller", - "Foil Flingza Roller" -]; + "Foil Flingza Roller", +] export const brushes = [ "Inkbrush", @@ -232,8 +474,8 @@ export const brushes = [ "Permanent Inkbrush", "Octobrush", "Octobrush Nouveau", - "Kensa Octobrush" -]; + "Kensa Octobrush", +] export const chargers = [ "Classic Squiffer", @@ -253,8 +495,8 @@ export const chargers = [ "Bamboozler 14 Mk II", "Bamboozler 14 Mk III", "Goo Tuber", - "Custom Goo Tuber" -]; + "Custom Goo Tuber", +] export const sloshers = [ "Slosher", @@ -268,8 +510,8 @@ export const sloshers = [ "Bloblobber", "Bloblobber Deco", "Explosher", - "Custom Explosher" -]; + "Custom Explosher", +] export const splatlings = [ "Mini Splatling", @@ -283,8 +525,8 @@ export const splatlings = [ "Ballpoint Splatling", "Ballpoint Splatling Nouveau", "Nautilus 47", - "Nautilus 79" -]; + "Nautilus 79", +] export const dualies = [ "Dapple Dualies", @@ -299,8 +541,8 @@ export const dualies = [ "Dualie Squelchers", "Custom Dualie Squelchers", "Dark Tetra Dualies", - "Light Tetra Dualies" -]; + "Light Tetra Dualies", +] export const brellas = [ "Splat Brella", @@ -310,8 +552,8 @@ export const brellas = [ "Tenta Camo Brella", "Undercover Brella", "Undercover Sorella Brella", - "Kensa Undercover Brella" -]; + "Kensa Undercover Brella", +] export const weaponsByCategory = { Shooters: shooters, @@ -323,8 +565,8 @@ export const weaponsByCategory = { Sloshers: sloshers, Splatlings: splatlings, Dualies: dualies, - Brellas: brellas -}; + Brellas: brellas, +} export const categoryKeys = [ "Shooters", @@ -336,8 +578,8 @@ export const categoryKeys = [ "Sloshers", "Splatlings", "Dualies", - "Brellas" -]; + "Brellas", +] export const gearEnglish = [ { @@ -353,7 +595,7 @@ export const gearEnglish = [ "School Cardigan", "School Uniform", "Squinja Suit", - "Steel Platemail" + "Steel Platemail", ], head: [ "Enchanted Hat", @@ -366,7 +608,7 @@ export const gearEnglish = [ "Squid Clip-Ons", "Squid Hairclip", "Squinja Mask", - "Steel Helm" + "Steel Helm", ], shoes: [ "Enchanted Boots", @@ -379,8 +621,8 @@ export const gearEnglish = [ "Samurai Shoes", "School Shoes", "Squinja Boots", - "Steel Greaves" - ] + "Steel Greaves", + ], }, { brand: "Annaki", @@ -396,10 +638,10 @@ export const gearEnglish = [ "Hula Punk Shirt", "Prune Parashooter", "Red Hula Punk with Tie", - "Rockin' Leather Jacket" + "Rockin' Leather Jacket", ], head: ["Annaki Beret", "Annaki Beret & Glasses", "Annaki Mask"], - shoes: ["Annaki Arachno Boots", "Annaki Habaneros", "Annaki Tigers"] + shoes: ["Annaki Arachno Boots", "Annaki Habaneros", "Annaki Tigers"], }, { brand: "Cuttlegear", @@ -416,7 +658,7 @@ export const gearEnglish = [ "Octo Tee", "Old-Timey Clothes", "Red Cuttlegear LS", - "Sennyu Suit" + "Sennyu Suit", ], head: [ "Armor Helmet Replica", @@ -427,7 +669,7 @@ export const gearEnglish = [ "Null Visor Replica", "Octoling Shades", "Old-Timey Hat", - "Studio Octophones" + "Studio Octophones", ], shoes: [ "Armor Boot Replicas", @@ -435,8 +677,8 @@ export const gearEnglish = [ "Hero Snowboots Replicas", "Neo Octoling Boots", "Null Boots Replica", - "Old-Timey Shoes" - ] + "Old-Timey Shoes", + ], }, { brand: "Enperry", @@ -451,13 +693,13 @@ export const gearEnglish = [ "Navy King Tank", "Octoking HK Jersey", "Slash King Tank", - "White King Tank" + "White King Tank", ], head: [ "Eminence Cuff", "King Facemask", "King Flip Mesh", - "Octoking Facemask" + "Octoking Facemask", ], shoes: [ "Black & Blue Squidkid V", @@ -473,8 +715,8 @@ export const gearEnglish = [ "Red & Black Squidkid IV", "Red & White Squidkid V", "Rina Squidkid IV", - "Sun & Shade Squidkid IV" - ] + "Sun & Shade Squidkid IV", + ], }, { brand: "Firefin", @@ -493,7 +735,7 @@ export const gearEnglish = [ "Khaki 16-Bit FishFry", "White 8-Bit FishFry", "Yellow Urban Vest", - "ω-3 Tee" + "ω-3 Tee", ], head: [ "Black FishFry Bandana", @@ -507,9 +749,9 @@ export const gearEnglish = [ "Jet Cap", "Jungle Hat", "Knitted Hat", - "Octoglasses" + "Octoglasses", ], - shoes: ["Red FishFry Sandals", "Yellow FishFry Sandals"] + shoes: ["Red FishFry Sandals", "Yellow FishFry Sandals"], }, { brand: "Forge", @@ -526,7 +768,7 @@ export const gearEnglish = [ "Green Tee", "Moist Ghillie Suit", "White Leather F-3", - "White Sailor Suit" + "White Sailor Suit", ], head: [ "Deca Tackle Visor Helmet", @@ -552,9 +794,9 @@ export const gearEnglish = [ "Squidlife Headphones", "Stealth Goggles", "Studio Headphones", - "Treasure Hunter" + "Treasure Hunter", ], - shoes: ["Moist Ghillie Boots"] + shoes: ["Moist Ghillie Boots"], }, { brand: "Grizzco", @@ -570,7 +812,7 @@ export const gearEnglish = [ "Online Jersey", "Record Shop Look EP", "Squiddor Polo", - "SRL Coat" + "SRL Coat", ], head: [ "Beekeeper Hat", @@ -582,7 +824,7 @@ export const gearEnglish = [ "Sailor Cap", "Welding Mask", "Worker's Cap", - "Worker's Head Towel" + "Worker's Head Towel", ], shoes: [ "Angry Rain Boots", @@ -590,8 +832,8 @@ export const gearEnglish = [ "Friendship Bracelet", "Non-slip Senseis", "Octoleet Boots", - "Wooden Sandals" - ] + "Wooden Sandals", + ], }, { brand: "Inkline", @@ -608,7 +850,7 @@ export const gearEnglish = [ "Matcha Down Jacket", "Mountain Vest", "Olive Ski Jacket", - "Striped Peaks LS" + "Striped Peaks LS", ], head: [ "Bamboo Hat", @@ -618,7 +860,7 @@ export const gearEnglish = [ "Seashell Bamboo Hat", "Short Beanie", "Tulip Parasol", - "Yamagiri Beanie" + "Yamagiri Beanie", ], shoes: [ "Acerola Rain Boots", @@ -632,8 +874,8 @@ export const gearEnglish = [ "Pro Trail Boots", "Snow Delta Straps", "Sunny Climbing Shoes", - "Trail Boots" - ] + "Trail Boots", + ], }, { brand: "Krak-On", @@ -647,7 +889,7 @@ export const gearEnglish = [ "Rodeo Shirt", "Squid-Pattern Waistcoat", "Squidstar Waistcoat", - "Sunny-Day Tee" + "Sunny-Day Tee", ], head: [ "Full Moon Glasses", @@ -655,7 +897,7 @@ export const gearEnglish = [ "Long-Billed Cap", "Paisley Bandana", "Two-Stripe Mesh", - "Woolly Urchins Classic" + "Woolly Urchins Classic", ], shoes: [ "Banana Basics", @@ -673,8 +915,8 @@ export const gearEnglish = [ "Red Hi-Tops", "Red Slip-Ons", "Squid-Stitch Slip-Ons", - "Truffle Canvas Hi-Tops" - ] + "Truffle Canvas Hi-Tops", + ], }, { brand: "Rockenberg", @@ -693,7 +935,7 @@ export const gearEnglish = [ "Wet Floor Band Tee", "White Baseball LS", "White Inky Rider", - "White Urchin Rock Tee" + "White Urchin Rock Tee", ], head: ["18K Aviators", "SV925 Circle Shades"], shoes: [ @@ -718,8 +960,8 @@ export const gearEnglish = [ "Squink Wingtips", "Tan Work Boots", "Turquoise Kicks", - "White Kicks" - ] + "White Kicks", + ], }, { brand: "Skalop", @@ -734,7 +976,7 @@ export const gearEnglish = [ "Mint Tee", "Pearl Tee", "Reggae Tee", - "Squid-Stitch Tee" + "Squid-Stitch Tee", ], head: [ "Bike Helmet", @@ -752,9 +994,9 @@ export const gearEnglish = [ "Straw Boater", "Streetstyle Cap", "Urchins Cap", - "Visor Skate Helmet" + "Visor Skate Helmet", ], - shoes: [] + shoes: [], }, { brand: "Splash Mob", @@ -780,7 +1022,7 @@ export const gearEnglish = [ "Varsity Baseball LS", "Whale-Knit Sweater", "White Shirt", - "White Striped LS" + "White Striped LS", ], head: [ "Bobble Hat", @@ -790,7 +1032,7 @@ export const gearEnglish = [ "Retro Specs", "Sennyu Bon Bon Beanie", "Sennyu Specs", - "Striped Beanie" + "Striped Beanie", ], shoes: [ "Green Laceups", @@ -800,8 +1042,8 @@ export const gearEnglish = [ "Shark Moccasins", "Strapping Reds", "Strapping Whites", - "Tea-Green Hunting Boots" - ] + "Tea-Green Hunting Boots", + ], }, { brand: "SquidForce", @@ -831,7 +1073,7 @@ export const gearEnglish = [ "White LS", "White Tee", "White V-Neck Tee", - "Yellow Layered LS" + "Yellow Layered LS", ], head: [ "Anglerfish Mask", @@ -851,9 +1093,9 @@ export const gearEnglish = [ "Jetflame Crest", "Fierce Fishskull", "Hivemind Antenna", - "Eye of Justice" + "Eye of Justice", ], - shoes: ["Mecha Legs - LBS"] + shoes: ["Mecha Legs - LBS"], }, { brand: "Takoroka", @@ -872,7 +1114,7 @@ export const gearEnglish = [ "Takoroka Nylon Vintage", "Takoroka Rainbow Tie Dye", "Takoroka Windcrusher", - "Tricolor Rugby" + "Tricolor Rugby", ], head: ["Takoroka Mesh", "Takoroka Visor"], shoes: [ @@ -889,8 +1131,8 @@ export const gearEnglish = [ "Soccer Shoes", "Sunset Orca Hi-Tops", "Trooper Power Stripes", - "White Arrows" - ] + "White Arrows", + ], }, { brand: "Tentatek", @@ -903,7 +1145,7 @@ export const gearEnglish = [ "Red Tentatek Tee", "Silver Tentatek Vest", "Sky-Blue Squideye", - "Tentatek Slogan Tee" + "Tentatek Slogan Tee", ], head: [ "Cycle King Cap", @@ -914,7 +1156,7 @@ export const gearEnglish = [ "Purple Novelty Visor", "Soccer Headband", "Sun Visor", - "Tennis Headband" + "Tennis Headband", ], shoes: [ "Amber Sea Slug Hi-Tops", @@ -941,8 +1183,8 @@ export const gearEnglish = [ "Violet Trainers", "White Norimaki 750s", "Yellow Iromaki 750s", - "Yellow-Mesh Sneakers" - ] + "Yellow-Mesh Sneakers", + ], }, { brand: "Toni Kensa", @@ -960,14 +1202,14 @@ export const gearEnglish = [ "Positive Longcuff Sweater", "Pullover Coat", "Short Knit Layers", - "Toni K. Baseball Jersey" + "Toni K. Baseball Jersey", ], head: ["Face Visor", "Ink-Guard Goggles", "Toni Kensa Goggles"], shoes: [ "Arrow Pull-Ons", "Toni Kensa Black Hi-Tops", - "Toni Kensa Soccer Shoes" - ] + "Toni Kensa Soccer Shoes", + ], }, { brand: "Zekko", @@ -991,7 +1233,7 @@ export const gearEnglish = [ "Zekko Jade Coat", "Zekko Long Carrot Tee", "Zekko Long Radish Tee", - "Zekko Redleaf Coat" + "Zekko Redleaf Coat", ], head: [ "Backwards Cap", @@ -1004,7 +1246,7 @@ export const gearEnglish = [ "Tinted Shades", "White Arrowbands", "Zekko Cap", - "Zekko Mesh" + "Zekko Mesh", ], shoes: [ "Black Flip-Flops", @@ -1015,8 +1257,8 @@ export const gearEnglish = [ "Pearl-Scout Lace-Ups", "Suede Gray Lace-Ups", "Suede Marine Lace-Ups", - "Suede Nation Lace-Ups" - ] + "Suede Nation Lace-Ups", + ], }, { brand: "Zink", @@ -1033,14 +1275,14 @@ export const gearEnglish = [ "Urchins Jersey", "White Deca Logo Tee", "Zink Layered LS", - "Zink LS" + "Zink LS", ], head: [ "B-ball Headband", "Cycling Cap", "Golf Visor", "Squash Headband", - "Swim Goggles" + "Swim Goggles", ], shoes: [ "Black Dakroniks", @@ -1054,10 +1296,10 @@ export const gearEnglish = [ "White Laceless Dakroniks", "White Seahorses", "Yellow Seahorses", - "Zombie Hi-Horses" - ] - } -]; + "Zombie Hi-Horses", + ], + }, +] export const clothingGear = [ "Clt_AMB000", @@ -1317,8 +1559,8 @@ export const clothingGear = [ "Clt_VST005", "Clt_VST007", "Clt_VST008", - "Clt_VST009" -]; + "Clt_VST009", +] export const headGear = [ "Hed_ACC001", @@ -1483,8 +1725,8 @@ export const headGear = [ "Hed_VIS001", "Hed_VIS002", "Hed_VIS003", - "Hed_VIS004" -]; + "Hed_VIS004", +] export const shoesGear = [ "Shs_AMB000", @@ -1651,5 +1893,5 @@ export const shoesGear = [ "Shs_SLP003", "Shs_TRS000", "Shs_TRS001", - "Shs_TRS002" -]; + "Shs_TRS002", +] diff --git a/schemas/user.js b/schemas/user.js index c4b24acad..4c3399fb9 100644 --- a/schemas/user.js +++ b/schemas/user.js @@ -14,8 +14,8 @@ const typeDef = gql` extend type Mutation { updateUser( country: String - stick_sens: Float motion_sens: Float + stick_sens: Float weapons: [String] ): Boolean } @@ -78,23 +78,14 @@ const resolvers = { if (args.country) if ( countries - .map(countryObj => countryObj.Code) - .indexOf(args.country.toUpperCase() === -1) + .map(countryObj => countryObj.code) + .includes(args.country === -1) ) { throw new UserInputError("Invalid country ID", { invalidArgs: args, }) } - if (args.motion_sens) { - const number = Math.floor(args.motion_sens * 10) - if (number < -50 || number > 50 || number % 5 != 0) { - throw new UserInputError("Invalid motion sensitivity", { - invalidArgs: args, - }) - } - } - if (args.stick_sens) { const number = Math.floor(args.stick_sens * 10) if (number < -50 || number > 50 || number % 5 != 0) { @@ -102,6 +93,28 @@ const resolvers = { invalidArgs: args, }) } + + args.sens = {} + args.sens.stick = args.stick_sens + delete args.stick_sens + } + + if (args.motion_sens) { + const number = Math.floor(args.motion_sens * 10) + if (number < -50 || number > 50 || number % 5 != 0) { + throw new UserInputError("Invalid motion sensitivity", { + invalidArgs: args, + }) + } + + if (!args.sens) { + throw new UserInputError("Motion sens input without stick sens", { + invalidArgs: args, + }) + } + + args.sens.motion = args.motion_sens + delete args.motion_sens } if (args.weapons) { @@ -110,18 +123,21 @@ const resolvers = { invalidArgs: args, }) } + + if (args.weapons.length > 5) { + throw new UserInputError("Weapon pool too big", { + invalidArgs: args, + }) + } } - const user = await User.findById(args.id) + const user = await User.findById(ctx.user._id) if (!user) throw new UserInputError("No user found with the id", { invalidArgs: args, }) - if (ctx.user.discord_id !== user.discord_id) - throw new AuthenticationError("No privileges to edit the user") - - await User.findByIdAndUpdate(build._id, { ...user, ...args }).catch(e => { + await User.findByIdAndUpdate(ctx.user._id, { ...args }).catch(e => { throw new UserInputError(error.message, { invalidArgs: args, }) diff --git a/utils/countries.js b/utils/countries.js index 0309e8e2d..615bd9564 100644 --- a/utils/countries.js +++ b/utils/countries.js @@ -1,251 +1,243 @@ const countries = [ - { Code: "AF", Name: "Afghanistan" }, - { Code: "AX", Name: "\u00c5land Islands" }, - { Code: "AL", Name: "Albania" }, - { Code: "DZ", Name: "Algeria" }, - { Code: "AS", Name: "American Samoa" }, - { Code: "AD", Name: "Andorra" }, - { Code: "AO", Name: "Angola" }, - { Code: "AI", Name: "Anguilla" }, - { Code: "AQ", Name: "Antarctica" }, - { Code: "AG", Name: "Antigua and Barbuda" }, - { Code: "AR", Name: "Argentina" }, - { Code: "AM", Name: "Armenia" }, - { Code: "AW", Name: "Aruba" }, - { Code: "AU", Name: "Australia" }, - { Code: "AT", Name: "Austria" }, - { Code: "AZ", Name: "Azerbaijan" }, - { Code: "BS", Name: "Bahamas" }, - { Code: "BH", Name: "Bahrain" }, - { Code: "BD", Name: "Bangladesh" }, - { Code: "BB", Name: "Barbados" }, - { Code: "BY", Name: "Belarus" }, - { Code: "BE", Name: "Belgium" }, - { Code: "BZ", Name: "Belize" }, - { Code: "BJ", Name: "Benin" }, - { Code: "BM", Name: "Bermuda" }, - { Code: "BT", Name: "Bhutan" }, - { Code: "BO", Name: "Bolivia, Plurinational State of" }, - { Code: "BQ", Name: "Bonaire, Sint Eustatius and Saba" }, - { Code: "BA", Name: "Bosnia and Herzegovina" }, - { Code: "BW", Name: "Botswana" }, - { Code: "BV", Name: "Bouvet Island" }, - { Code: "BR", Name: "Brazil" }, - { Code: "IO", Name: "British Indian Ocean Territory" }, - { Code: "BN", Name: "Brunei Darussalam" }, - { Code: "BG", Name: "Bulgaria" }, - { Code: "BF", Name: "Burkina Faso" }, - { Code: "BI", Name: "Burundi" }, - { Code: "KH", Name: "Cambodia" }, - { Code: "CM", Name: "Cameroon" }, - { Code: "CA", Name: "Canada" }, - { Code: "CV", Name: "Cape Verde" }, - { Code: "KY", Name: "Cayman Islands" }, - { Code: "CF", Name: "Central African Republic" }, - { Code: "TD", Name: "Chad" }, - { Code: "CL", Name: "Chile" }, - { Code: "CN", Name: "China" }, - { Code: "CX", Name: "Christmas Island" }, - { Code: "CC", Name: "Cocos (Keeling) Islands" }, - { Code: "CO", Name: "Colombia" }, - { Code: "KM", Name: "Comoros" }, - { Code: "CG", Name: "Congo" }, - { Code: "CD", Name: "Congo, the Democratic Republic of the" }, - { Code: "CK", Name: "Cook Islands" }, - { Code: "CR", Name: "Costa Rica" }, - { Code: "CI", Name: "C\u00f4te d'Ivoire" }, - { Code: "HR", Name: "Croatia" }, - { Code: "CU", Name: "Cuba" }, - { Code: "CW", Name: "Cura\u00e7ao" }, - { Code: "CY", Name: "Cyprus" }, - { Code: "CZ", Name: "Czech Republic" }, - { Code: "DK", Name: "Denmark" }, - { Code: "DJ", Name: "Djibouti" }, - { Code: "DM", Name: "Dominica" }, - { Code: "DO", Name: "Dominican Republic" }, - { Code: "EC", Name: "Ecuador" }, - { Code: "EG", Name: "Egypt" }, - { Code: "SV", Name: "El Salvador" }, - { Code: "GQ", Name: "Equatorial Guinea" }, - { Code: "ER", Name: "Eritrea" }, - { Code: "EE", Name: "Estonia" }, - { Code: "ET", Name: "Ethiopia" }, - { Code: "FK", Name: "Falkland Islands (Malvinas)" }, - { Code: "FO", Name: "Faroe Islands" }, - { Code: "FJ", Name: "Fiji" }, - { Code: "FI", Name: "Finland" }, - { Code: "FR", Name: "France" }, - { Code: "GF", Name: "French Guiana" }, - { Code: "PF", Name: "French Polynesia" }, - { Code: "TF", Name: "French Southern Territories" }, - { Code: "GA", Name: "Gabon" }, - { Code: "GM", Name: "Gambia" }, - { Code: "GE", Name: "Georgia" }, - { Code: "DE", Name: "Germany" }, - { Code: "GH", Name: "Ghana" }, - { Code: "GI", Name: "Gibraltar" }, - { Code: "GR", Name: "Greece" }, - { Code: "GL", Name: "Greenland" }, - { Code: "GD", Name: "Grenada" }, - { Code: "GP", Name: "Guadeloupe" }, - { Code: "GU", Name: "Guam" }, - { Code: "GT", Name: "Guatemala" }, - { Code: "GG", Name: "Guernsey" }, - { Code: "GN", Name: "Guinea" }, - { Code: "GW", Name: "Guinea-Bissau" }, - { Code: "GY", Name: "Guyana" }, - { Code: "HT", Name: "Haiti" }, - { Code: "HM", Name: "Heard Island and McDonald Islands" }, - { Code: "VA", Name: "Holy See (Vatican City State)" }, - { Code: "HN", Name: "Honduras" }, - { Code: "HK", Name: "Hong Kong" }, - { Code: "HU", Name: "Hungary" }, - { Code: "IS", Name: "Iceland" }, - { Code: "IN", Name: "India" }, - { Code: "ID", Name: "Indonesia" }, - { Code: "IR", Name: "Iran, Islamic Republic of" }, - { Code: "IQ", Name: "Iraq" }, - { Code: "IE", Name: "Ireland" }, - { Code: "IM", Name: "Isle of Man" }, - { Code: "IL", Name: "Israel" }, - { Code: "IT", Name: "Italy" }, - { Code: "JM", Name: "Jamaica" }, - { Code: "JP", Name: "Japan" }, - { Code: "JE", Name: "Jersey" }, - { Code: "JO", Name: "Jordan" }, - { Code: "KZ", Name: "Kazakhstan" }, - { Code: "KE", Name: "Kenya" }, - { Code: "KI", Name: "Kiribati" }, - { Code: "KP", Name: "Korea, Democratic People's Republic of" }, - { Code: "KR", Name: "Korea, Republic of" }, - { Code: "KW", Name: "Kuwait" }, - { Code: "KG", Name: "Kyrgyzstan" }, - { Code: "LA", Name: "Lao People's Democratic Republic" }, - { Code: "LV", Name: "Latvia" }, - { Code: "LB", Name: "Lebanon" }, - { Code: "LS", Name: "Lesotho" }, - { Code: "LR", Name: "Liberia" }, - { Code: "LY", Name: "Libya" }, - { Code: "LI", Name: "Liechtenstein" }, - { Code: "LT", Name: "Lithuania" }, - { Code: "LU", Name: "Luxembourg" }, - { Code: "MO", Name: "Macao" }, - { Code: "MK", Name: "Macedonia, the Former Yugoslav Republic of" }, - { Code: "MG", Name: "Madagascar" }, - { Code: "MW", Name: "Malawi" }, - { Code: "MY", Name: "Malaysia" }, - { Code: "MV", Name: "Maldives" }, - { Code: "ML", Name: "Mali" }, - { Code: "MT", Name: "Malta" }, - { Code: "MH", Name: "Marshall Islands" }, - { Code: "MQ", Name: "Martinique" }, - { Code: "MR", Name: "Mauritania" }, - { Code: "MU", Name: "Mauritius" }, - { Code: "YT", Name: "Mayotte" }, - { Code: "MX", Name: "Mexico" }, - { Code: "FM", Name: "Micronesia, Federated States of" }, - { Code: "MD", Name: "Moldova, Republic of" }, - { Code: "MC", Name: "Monaco" }, - { Code: "MN", Name: "Mongolia" }, - { Code: "ME", Name: "Montenegro" }, - { Code: "MS", Name: "Montserrat" }, - { Code: "MA", Name: "Morocco" }, - { Code: "MZ", Name: "Mozambique" }, - { Code: "MM", Name: "Myanmar" }, - { Code: "NA", Name: "Namibia" }, - { Code: "NR", Name: "Nauru" }, - { Code: "NP", Name: "Nepal" }, - { Code: "NL", Name: "Netherlands" }, - { Code: "NC", Name: "New Caledonia" }, - { Code: "NZ", Name: "New Zealand" }, - { Code: "NI", Name: "Nicaragua" }, - { Code: "NE", Name: "Niger" }, - { Code: "NG", Name: "Nigeria" }, - { Code: "NU", Name: "Niue" }, - { Code: "NF", Name: "Norfolk Island" }, - { Code: "MP", Name: "Northern Mariana Islands" }, - { Code: "NO", Name: "Norway" }, - { Code: "OM", Name: "Oman" }, - { Code: "PK", Name: "Pakistan" }, - { Code: "PW", Name: "Palau" }, - { Code: "PS", Name: "Palestine, State of" }, - { Code: "PA", Name: "Panama" }, - { Code: "PG", Name: "Papua New Guinea" }, - { Code: "PY", Name: "Paraguay" }, - { Code: "PE", Name: "Peru" }, - { Code: "PH", Name: "Philippines" }, - { Code: "PN", Name: "Pitcairn" }, - { Code: "PL", Name: "Poland" }, - { Code: "PT", Name: "Portugal" }, - { Code: "PR", Name: "Puerto Rico" }, - { Code: "QA", Name: "Qatar" }, - { Code: "RE", Name: "R\u00e9union" }, - { Code: "RO", Name: "Romania" }, - { Code: "RU", Name: "Russian Federation" }, - { Code: "RW", Name: "Rwanda" }, - { Code: "BL", Name: "Saint Barth\u00e9lemy" }, - { Code: "SH", Name: "Saint Helena, Ascension and Tristan da Cunha" }, - { Code: "KN", Name: "Saint Kitts and Nevis" }, - { Code: "LC", Name: "Saint Lucia" }, - { Code: "MF", Name: "Saint Martin (French part)" }, - { Code: "PM", Name: "Saint Pierre and Miquelon" }, - { Code: "VC", Name: "Saint Vincent and the Grenadines" }, - { Code: "WS", Name: "Samoa" }, - { Code: "SM", Name: "San Marino" }, - { Code: "ST", Name: "Sao Tome and Principe" }, - { Code: "SA", Name: "Saudi Arabia" }, - { Code: "SN", Name: "Senegal" }, - { Code: "RS", Name: "Serbia" }, - { Code: "SC", Name: "Seychelles" }, - { Code: "SL", Name: "Sierra Leone" }, - { Code: "SG", Name: "Singapore" }, - { Code: "SX", Name: "Sint Maarten (Dutch part)" }, - { Code: "SK", Name: "Slovakia" }, - { Code: "SI", Name: "Slovenia" }, - { Code: "SB", Name: "Solomon Islands" }, - { Code: "SO", Name: "Somalia" }, - { Code: "ZA", Name: "South Africa" }, - { Code: "GS", Name: "South Georgia and the South Sandwich Islands" }, - { Code: "SS", Name: "South Sudan" }, - { Code: "ES", Name: "Spain" }, - { Code: "LK", Name: "Sri Lanka" }, - { Code: "SD", Name: "Sudan" }, - { Code: "SR", Name: "Suriname" }, - { Code: "SJ", Name: "Svalbard and Jan Mayen" }, - { Code: "SZ", Name: "Swaziland" }, - { Code: "SE", Name: "Sweden" }, - { Code: "CH", Name: "Switzerland" }, - { Code: "SY", Name: "Syrian Arab Republic" }, - { Code: "TW", Name: "Taiwan, Province of China" }, - { Code: "TJ", Name: "Tajikistan" }, - { Code: "TZ", Name: "Tanzania, United Republic of" }, - { Code: "TH", Name: "Thailand" }, - { Code: "TL", Name: "Timor-Leste" }, - { Code: "TG", Name: "Togo" }, - { Code: "TK", Name: "Tokelau" }, - { Code: "TO", Name: "Tonga" }, - { Code: "TT", Name: "Trinidad and Tobago" }, - { Code: "TN", Name: "Tunisia" }, - { Code: "TR", Name: "Turkey" }, - { Code: "TM", Name: "Turkmenistan" }, - { Code: "TC", Name: "Turks and Caicos Islands" }, - { Code: "TV", Name: "Tuvalu" }, - { Code: "UG", Name: "Uganda" }, - { Code: "UA", Name: "Ukraine" }, - { Code: "AE", Name: "United Arab Emirates" }, - { Code: "GB", Name: "United Kingdom" }, - { Code: "US", Name: "United States" }, - { Code: "UM", Name: "United States Minor Outlying Islands" }, - { Code: "UY", Name: "Uruguay" }, - { Code: "UZ", Name: "Uzbekistan" }, - { Code: "VU", Name: "Vanuatu" }, - { Code: "VE", Name: "Venezuela, Bolivarian Republic of" }, - { Code: "VN", Name: "Viet Nam" }, - { Code: "VG", Name: "Virgin Islands, British" }, - { Code: "VI", Name: "Virgin Islands, U.S." }, - { Code: "WF", Name: "Wallis and Futuna" }, - { Code: "EH", Name: "Western Sahara" }, - { Code: "YE", Name: "Yemen" }, - { Code: "ZM", Name: "Zambia" }, - { Code: "ZW", Name: "Zimbabwe" }, + { code: "af", name: "Afghanistan" }, + { code: "ax", name: "Åland Islands" }, + { code: "al", name: "Albania" }, + { code: "dz", name: "Algeria" }, + { code: "as", name: "American Samoa" }, + { code: "ad", name: "Andorra" }, + { code: "ao", name: "Angola" }, + { code: "ai", name: "Anguilla" }, + { code: "ag", name: "Antigua and Barbuda" }, + { code: "ar", name: "Argentina" }, + { code: "am", name: "Armenia" }, + { code: "aw", name: "Aruba" }, + { code: "au", name: "Australia" }, + { code: "at", name: "Austria" }, + { code: "az", name: "Azerbaijan" }, + { code: "bs", name: "Bahamas" }, + { code: "bh", name: "Bahrain" }, + { code: "bd", name: "Bangladesh" }, + { code: "bb", name: "Barbados" }, + { code: "by", name: "Belarus" }, + { code: "be", name: "Belgium" }, + { code: "bz", name: "Belize" }, + { code: "bj", name: "Benin" }, + { code: "bm", name: "Bermuda" }, + { code: "bt", name: "Bhutan" }, + { code: "bo", name: "Bolivia, Plurinational State of" }, + { code: "ba", name: "Bosnia and Herzegovina" }, + { code: "bw", name: "Botswana" }, + { code: "bv", name: "Bouvet Island" }, + { code: "br", name: "Brazil" }, + { code: "io", name: "BritishIndian Ocean Territory" }, + { code: "bn", name: "Brunei Darussalam" }, + { code: "bg", name: "Bulgaria" }, + { code: "bf", name: "Burkina Faso" }, + { code: "bi", name: "Burundi" }, + { code: "kh", name: "Cambodia" }, + { code: "cm", name: "Cameroon" }, + { code: "ca", name: "Canada" }, + { code: "cv", name: "Cape Verde" }, + { code: "ky", name: "Cayman Islands" }, + { code: "cf", name: "Central African Republic" }, + { code: "td", name: "Chad" }, + { code: "cl", name: "Chile" }, + { code: "cn", name: "China" }, + { code: "cx", name: "Christmas Island" }, + { code: "cc", name: "Cocos (Keeling) Islands" }, + { code: "co", name: "Colombia" }, + { code: "km", name: "Comoros" }, + { code: "cg", name: "Congo" }, + { code: "cd", name: "Congo, the Democratic Republic of the" }, + { code: "ck", name: "Cook Islands" }, + { code: "cr", name: "Costa Rica" }, + { code: "ci", name: "Côte d'Ivoire" }, + { code: "hr", name: "Croatia" }, + { code: "cu", name: "Cuba" }, + { code: "cy", name: "Cyprus" }, + { code: "cz", name: "Czech Republic" }, + { code: "dk", name: "Denmark" }, + { code: "dj", name: "Djibouti" }, + { code: "dm", name: "Dominica" }, + { code: "do", name: "Dominican Republic" }, + { code: "ec", name: "Ecuador" }, + { code: "eg", name: "Egypt" }, + { code: "sv", name: "El Salvador" }, + { code: "gq", name: "Equatorial Guinea" }, + { code: "er", name: "Eritrea" }, + { code: "ee", name: "Estonia" }, + { code: "et", name: "Ethiopia" }, + { code: "fk", name: "Falkland Islands (Malvinas)" }, + { code: "fo", name: "FaroeIslands" }, + { code: "fj", name: "Fiji" }, + { code: "fi", name: "Finland" }, + { code: "fr", name: "France" }, + { code: "gf", name: "French Guiana" }, + { code: "pf", name: "French Polynesia" }, + { code: "tf", name: "French Southern Territories" }, + { code: "ga", name: "Gabon" }, + { code: "gm", name: "Gambia" }, + { code: "ge", name: "Georgia" }, + { code: "de", name: "Germany" }, + { code: "gh", name: "Ghana" }, + { code: "gi", name: "Gibraltar" }, + { code: "gr", name: "Greece" }, + { code: "gl", name: "Greenland" }, + { code: "gd", name: "Grenada" }, + { code: "gp", name: "Guadeloupe" }, + { code: "gu", name: "Guam" }, + { code: "gt", name: "Guatemala" }, + { code: "gn", name: "Guinea" }, + { code: "gw", name: "Guinea-Bissau" }, + { code: "gy", name: "Guyana" }, + { code: "ht", name: "Haiti" }, + { code: "hm", name: "Heard Island and McDonald Islands" }, + { code: "va", name: "Holy See (Vatican City State)" }, + { code: "hn", name: "Honduras" }, + { code: "hk", name: "Hong Kong" }, + { code: "hu", name: "Hungary" }, + { code: "is", name: "Iceland" }, + { code: "in", name: "India" }, + { code: "id", name: "Indonesia" }, + { code: "ir", name: "Iran, Islamic Republic of" }, + { code: "iq", name: "Iraq" }, + { code: "ie", name: "Ireland" }, + { code: "il", name: "Israel" }, + { code: "it", name: "Italy" }, + { code: "jm", name: "Jamaica" }, + { code: "jp", name: "Japan" }, + { code: "jo", name: "Jordan" }, + { code: "kz", name: "Kazakhstan" }, + { code: "ke", name: "Kenya" }, + { code: "ki", name: "Kiribati" }, + { code: "kp", name: "Korea, Democratic People'sRepublic of" }, + { code: "kr", name: "Korea, Republic of" }, + { code: "kw", name: "Kuwait" }, + { code: "kg", name: "Kyrgyzstan" }, + { code: "la", name: "Lao People's Democratic Republic" }, + { code: "lv", name: "Latvia" }, + { code: "lb", name: "Lebanon" }, + { code: "ls", name: "Lesotho" }, + { code: "lr", name: "Liberia" }, + { code: "ly", name: "Libya" }, + { code: "li", name: "Liechtenstein" }, + { code: "lt", name: "Lithuania" }, + { code: "lu", name: "Luxembourg" }, + { code: "mo", name: "Macao" }, + { code: "mk", name: "Macedonia, the Former Yugoslav Republic of" }, + { code: "mg", name: "Madagascar" }, + { code: "mw", name: "Malawi" }, + { code: "my", name: "Malaysia" }, + { code: "mv", name: "Maldives" }, + { code: "ml", name: "Mali" }, + { code: "mt", name: "Malta" }, + { code: "mh", name: "Marshall Islands" }, + { code: "mq", name: "Martinique" }, + { code: "mr", name: "Mauritania" }, + { code: "mu", name: "Mauritius" }, + { code: "yt", name: "Mayotte" }, + { code: "mx", name: "Mexico" }, + { code: "fm", name: "Micronesia, Federated States of" }, + { code: "md", name: "Moldova, Republic of" }, + { code: "mc", name: "Monaco" }, + { code: "mn", name: "Mongolia" }, + { code: "me", name: "Montenegro" }, + { code: "ms", name: "Montserrat" }, + { code: "ma", name: "Morocco" }, + { code: "mz", name: "Mozambique" }, + { code: "mm", name: "Myanmar" }, + { code: "na", name: "Namibia" }, + { code: "nr", name: "Nauru" }, + { code: "np", name: "Nepal" }, + { code: "nl", name: "Netherlands" }, + { code: "nc", name: "New Caledonia" }, + { code: "nz", name: "New Zealand" }, + { code: "ni", name: "Nicaragua" }, + { code: "ne", name: "Niger" }, + { code: "ng", name: "Nigeria" }, + { code: "nu", name: "Niue" }, + { code: "nf", name: "Norfolk Island" }, + { code: "mp", name: "Northern Mariana Islands" }, + { code: "no", name: "Norway" }, + { code: "om", name: "Oman" }, + { code: "pk", name: "Pakistan" }, + { code: "pw", name: "Palau" }, + { code: "ps", name: "Palestine, State of" }, + { code: "pa", name: "Panama" }, + { code: "pg", name: "Papua New Guinea" }, + { code: "py", name: "Paraguay" }, + { code: "pe", name: "Peru" }, + { code: "ph", name: "Philippines" }, + { code: "pn", name: "Pitcairn" }, + { code: "pl", name: "Poland" }, + { code: "pt", name: "Portugal" }, + { code: "pr", name: "Puerto Rico" }, + { code: "qa", name: "Qatar" }, + { code: "re", name: "Réunion" }, + { code: "ro", name: "Romania" }, + { code: "ru", name: "Russian Federation" }, + { code: "rw", name: "Rwanda" }, + { code: "sh", name: "Saint Helena, Ascension and Tristan da Cunha" }, + { code: "kn", name: "Saint Kitts and Nevis" }, + { code: "lc", name: "Saint Lucia" }, + { code: "pm", name: "Saint Pierre and Miquelon" }, + { code: "vc", name: "Saint Vincent and the Grenadines" }, + { code: "ws", name: "Samoa" }, + { code: "sm", name: "San Marino" }, + { code: "st", name: "Sao Tome and Principe" }, + { code: "sa", name: "Saudi Arabia" }, + { code: "sn", name: "Senegal" }, + { code: "rs", name: "Serbia" }, + { code: "sc", name: "Seychelles" }, + { code: "sl", name: "Sierra Leone" }, + { code: "sg", name: "Singapore" }, + { code: "sk", name: "Slovakia" }, + { code: "si", name: "Slovenia" }, + { code: "sb", name: "Solomon Islands" }, + { code: "so", name: "Somalia" }, + { code: "za", name: "South Africa" }, + { code: "gs", name: "South Georgia and the South Sandwich Islands" }, + { code: "es", name: "Spain" }, + { code: "lk", name: "Sri Lanka" }, + { code: "sd", name: "Sudan" }, + { code: "sr", name: "Suriname" }, + { code: "sj", name: "Svalbard and Jan Mayen" }, + { code: "sz", name: "Swaziland" }, + { code: "se", name: "Sweden" }, + { code: "ch", name: "Switzerland" }, + { code: "sy", name: "Syrian Arab Republic" }, + { code: "tw", name: "Taiwan, Province of China" }, + { code: "tj", name: "Tajikistan" }, + { code: "tz", name: "Tanzania, United Republic of" }, + { code: "th", name: "Thailand" }, + { code: "tl", name: "Timor-Leste" }, + { code: "tg", name: "Togo" }, + { code: "tk", name: "Tokelau" }, + { code: "to", name: "Tonga" }, + { code: "tt", name: "Trinidad and Tobago" }, + { code: "tn", name: "Tunisia" }, + { code: "tr", name: "Turkey" }, + { code: "tm", name: "Turkmenistan" }, + { code: "tc", name: "Turks and Caicos Islands" }, + { code: "tv", name: "Tuvalu" }, + { code: "ug", name: "Uganda" }, + { code: "ua", name: "Ukraine" }, + { code: "ae", name: "United Arab Emirates" }, + { code: "gb", name: "United Kingdom" }, + { code: "us", name: "United States" }, + { code: "um", name: "United States Minor Outlying Islands" }, + { code: "uy", name: "Uruguay" }, + { code: "uz", name: "Uzbekistan" }, + { code: "vu", name: "Vanuatu" }, + { code: "ve", name: "Venezuela, Bolivarian Republic of" }, + { code: "vn", name: "Viet Nam" }, + { code: "vg", name: "Virgin Islands, British" }, + { code: "vi", name: "Virgin Islands, U.S." }, + { code: "wf", name: "Wallis and Futuna" }, + { code: "eh", name: "Western Sahara" }, + { code: "ye", name: "Yemen" }, + { code: "zm", name: "Zambia" }, + { code: "zw", name: "Zimbabwe" }, ] + +module.exports = countries