diff --git a/package-lock.json b/package-lock.json
index 4b1b665c..47439e70 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -86,10 +86,6 @@
},
"engines": {
"node": ">=6.9.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/babel"
}
},
"node_modules/@babel/core/node_modules/convert-source-map": {
@@ -111,11 +107,6 @@
},
"engines": {
"node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
}
},
"node_modules/@babel/core/node_modules/json5": {
@@ -187,9 +178,6 @@
"@babel/helper-validator-option": "^7.12.17",
"browserslist": "^4.14.5",
"semver": "^6.3.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
}
},
"node_modules/@babel/helper-compilation-targets/node_modules/semver": {
@@ -353,9 +341,6 @@
"dev": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.8.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
}
},
"node_modules/@babel/plugin-syntax-bigint": {
@@ -365,9 +350,6 @@
"dev": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.8.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
}
},
"node_modules/@babel/plugin-syntax-class-properties": {
@@ -377,9 +359,6 @@
"dev": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.12.13"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
}
},
"node_modules/@babel/plugin-syntax-import-meta": {
@@ -389,9 +368,6 @@
"dev": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.10.4"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
}
},
"node_modules/@babel/plugin-syntax-json-strings": {
@@ -401,9 +377,6 @@
"dev": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.8.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
}
},
"node_modules/@babel/plugin-syntax-logical-assignment-operators": {
@@ -413,9 +386,6 @@
"dev": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.10.4"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
}
},
"node_modules/@babel/plugin-syntax-nullish-coalescing-operator": {
@@ -425,9 +395,6 @@
"dev": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.8.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
}
},
"node_modules/@babel/plugin-syntax-numeric-separator": {
@@ -437,9 +404,6 @@
"dev": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.10.4"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
}
},
"node_modules/@babel/plugin-syntax-object-rest-spread": {
@@ -449,9 +413,6 @@
"dev": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.8.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
}
},
"node_modules/@babel/plugin-syntax-optional-catch-binding": {
@@ -461,9 +422,6 @@
"dev": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.8.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
}
},
"node_modules/@babel/plugin-syntax-optional-chaining": {
@@ -473,9 +431,6 @@
"dev": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.8.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
}
},
"node_modules/@babel/plugin-syntax-top-level-await": {
@@ -485,9 +440,6 @@
"dev": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.12.13"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
}
},
"node_modules/@babel/runtime": {
@@ -535,11 +487,6 @@
},
"engines": {
"node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
}
},
"node_modules/@babel/traverse/node_modules/ms": {
@@ -607,34 +554,13 @@
"bson": "^1.1.4",
"denque": "^1.4.1",
"optional-require": "^1.0.2",
- "safe-buffer": "^5.1.2",
- "saslprep": "^1.0.0"
+ "safe-buffer": "^5.1.2"
},
"engines": {
"node": ">=4"
},
"optionalDependencies": {
"saslprep": "^1.0.0"
- },
- "peerDependenciesMeta": {
- "aws4": {
- "optional": true
- },
- "bson-ext": {
- "optional": true
- },
- "kerberos": {
- "optional": true
- },
- "mongodb-client-encryption": {
- "optional": true
- },
- "mongodb-extjson": {
- "optional": true
- },
- "snappy": {
- "optional": true
- }
}
},
"node_modules/@istanbuljs/load-nyc-config": {
@@ -707,9 +633,6 @@
},
"engines": {
"node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
"node_modules/@jest/console/node_modules/chalk": {
@@ -723,9 +646,6 @@
},
"engines": {
"node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
}
},
"node_modules/@jest/console/node_modules/color-convert": {
@@ -834,9 +754,6 @@
},
"engines": {
"node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
"node_modules/@jest/core/node_modules/braces": {
@@ -862,9 +779,6 @@
},
"engines": {
"node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
}
},
"node_modules/@jest/core/node_modules/color-convert": {
@@ -938,9 +852,6 @@
},
"bin": {
"rimraf": "bin.js"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
}
},
"node_modules/@jest/core/node_modules/slash": {
@@ -1059,7 +970,6 @@
"jest-resolve": "^26.6.2",
"jest-util": "^26.6.2",
"jest-worker": "^26.6.2",
- "node-notifier": "^8.0.0",
"slash": "^3.0.0",
"source-map": "^0.6.0",
"string-length": "^4.0.1",
@@ -1083,9 +993,6 @@
},
"engines": {
"node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
"node_modules/@jest/reporters/node_modules/chalk": {
@@ -1099,9 +1006,6 @@
},
"engines": {
"node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
}
},
"node_modules/@jest/reporters/node_modules/color-convert": {
@@ -1233,9 +1137,6 @@
},
"engines": {
"node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
"node_modules/@jest/transform/node_modules/braces": {
@@ -1261,9 +1162,6 @@
},
"engines": {
"node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
}
},
"node_modules/@jest/transform/node_modules/color-convert": {
@@ -1393,9 +1291,6 @@
},
"engines": {
"node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
"node_modules/@jest/types/node_modules/chalk": {
@@ -1408,9 +1303,6 @@
},
"engines": {
"node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
}
},
"node_modules/@jest/types/node_modules/color-convert": {
@@ -1760,9 +1652,6 @@
"dev": true,
"dependencies": {
"resolve": "^1.12.0"
- },
- "peerDependencies": {
- "typescript": ">=3.7.2"
}
},
"node_modules/@zerollup/ts-transform-paths": {
@@ -1772,9 +1661,6 @@
"dev": true,
"dependencies": {
"@zerollup/ts-helpers": "^1.7.18"
- },
- "peerDependencies": {
- "typescript": ">=3.7.2"
}
},
"node_modules/0x": {
@@ -1829,11 +1715,6 @@
},
"engines": {
"node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
}
},
"node_modules/0x/node_modules/make-dir": {
@@ -1941,10 +1822,6 @@
"fast-json-stable-stringify": "^2.0.0",
"json-schema-traverse": "^0.4.1",
"uri-js": "^4.2.2"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/epoberezkin"
}
},
"node_modules/ansi-escapes": {
@@ -1957,9 +1834,6 @@
},
"engines": {
"node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/ansi-regex": {
@@ -2197,9 +2071,6 @@
},
"engines": {
"node": ">= 10.14.2"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
}
},
"node_modules/babel-jest/node_modules/ansi-styles": {
@@ -2212,9 +2083,6 @@
},
"engines": {
"node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
"node_modules/babel-jest/node_modules/chalk": {
@@ -2228,9 +2096,6 @@
},
"engines": {
"node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
}
},
"node_modules/babel-jest/node_modules/color-convert": {
@@ -2330,9 +2195,6 @@
"@babel/plugin-syntax-optional-catch-binding": "^7.8.3",
"@babel/plugin-syntax-optional-chaining": "^7.8.3",
"@babel/plugin-syntax-top-level-await": "^7.8.3"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
}
},
"node_modules/babel-preset-jest": {
@@ -2346,9 +2208,6 @@
},
"engines": {
"node": ">= 10.14.2"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
}
},
"node_modules/balanced-match": {
@@ -2704,21 +2563,7 @@
"version": "5.2.1",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
"integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ]
+ "dev": true
},
"node_modules/browserify-zlib": {
"version": "0.2.0",
@@ -2756,10 +2601,6 @@
},
"engines": {
"node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/browserslist"
}
},
"node_modules/bser": {
@@ -2971,7 +2812,6 @@
"dependencies": {
"anymatch": "~3.1.1",
"braces": "~3.0.2",
- "fsevents": "~2.3.1",
"glob-parent": "~5.1.0",
"is-binary-path": "~2.1.0",
"is-glob": "~4.0.1",
@@ -4090,9 +3930,6 @@
"dev": true,
"engines": {
"node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sindresorhus/emittery?sponsor=1"
}
},
"node_modules/emoji-regex": {
@@ -4173,9 +4010,6 @@
},
"engines": {
"node": ">=6.0"
- },
- "optionalDependencies": {
- "source-map": "~0.6.1"
}
},
"node_modules/esprima": {
@@ -4265,9 +4099,6 @@
},
"engines": {
"node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sindresorhus/execa?sponsor=1"
}
},
"node_modules/execspawn": {
@@ -4440,9 +4271,6 @@
},
"engines": {
"node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
"node_modules/expect/node_modules/color-convert": {
@@ -4825,7 +4653,6 @@
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
"integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
"dev": true,
- "hasInstallScript": true,
"optional": true,
"os": [
"darwin"
@@ -4907,9 +4734,6 @@
},
"engines": {
"node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/get-value": {
@@ -4991,7 +4815,6 @@
"version": "5.1.5",
"resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz",
"integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==",
- "deprecated": "this library is no longer supported",
"dev": true,
"dependencies": {
"ajv": "^6.12.3",
@@ -5106,21 +4929,7 @@
"version": "5.2.1",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
"integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ]
+ "dev": true
},
"node_modules/hash.js": {
"version": "1.1.7",
@@ -5469,9 +5278,6 @@
"dev": true,
"dependencies": {
"has": "^1.0.3"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/is-data-descriptor": {
@@ -5509,9 +5315,6 @@
},
"engines": {
"node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/is-extendable": {
@@ -5771,11 +5574,6 @@
},
"engines": {
"node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
}
},
"node_modules/istanbul-lib-source-maps/node_modules/ms": {
@@ -5865,9 +5663,6 @@
},
"engines": {
"node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
"node_modules/jest-cli/node_modules/chalk": {
@@ -5881,9 +5676,6 @@
},
"engines": {
"node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
}
},
"node_modules/jest-cli/node_modules/color-convert": {
@@ -5952,14 +5744,6 @@
},
"engines": {
"node": ">= 10.14.2"
- },
- "peerDependencies": {
- "ts-node": ">=9.0.0"
- },
- "peerDependenciesMeta": {
- "ts-node": {
- "optional": true
- }
}
},
"node_modules/jest-config/node_modules/ansi-styles": {
@@ -5972,9 +5756,6 @@
},
"engines": {
"node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
"node_modules/jest-config/node_modules/braces": {
@@ -6000,9 +5781,6 @@
},
"engines": {
"node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
}
},
"node_modules/jest-config/node_modules/color-convert": {
@@ -6113,9 +5891,6 @@
},
"engines": {
"node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
"node_modules/jest-diff/node_modules/chalk": {
@@ -6128,9 +5903,6 @@
},
"engines": {
"node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
}
},
"node_modules/jest-diff/node_modules/color-convert": {
@@ -6206,9 +5978,6 @@
},
"engines": {
"node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
"node_modules/jest-each/node_modules/chalk": {
@@ -6222,9 +5991,6 @@
},
"engines": {
"node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
}
},
"node_modules/jest-each/node_modules/color-convert": {
@@ -6320,7 +6086,6 @@
"@types/node": "*",
"anymatch": "^3.0.3",
"fb-watchman": "^2.0.0",
- "fsevents": "^2.1.2",
"graceful-fs": "^4.2.4",
"jest-regex-util": "^26.0.0",
"jest-serializer": "^26.6.2",
@@ -6434,9 +6199,6 @@
},
"engines": {
"node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
"node_modules/jest-jasmine2/node_modules/chalk": {
@@ -6450,9 +6212,6 @@
},
"engines": {
"node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
}
},
"node_modules/jest-jasmine2/node_modules/color-convert": {
@@ -6532,9 +6291,6 @@
},
"engines": {
"node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
"node_modules/jest-matcher-utils/node_modules/chalk": {
@@ -6548,9 +6304,6 @@
},
"engines": {
"node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
}
},
"node_modules/jest-matcher-utils/node_modules/color-convert": {
@@ -6622,9 +6375,6 @@
},
"engines": {
"node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
"node_modules/jest-message-util/node_modules/braces": {
@@ -6650,9 +6400,6 @@
},
"engines": {
"node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
}
},
"node_modules/jest-message-util/node_modules/color-convert": {
@@ -6769,14 +6516,6 @@
"dev": true,
"engines": {
"node": ">=6"
- },
- "peerDependencies": {
- "jest-resolve": "*"
- },
- "peerDependenciesMeta": {
- "jest-resolve": {
- "optional": true
- }
}
},
"node_modules/jest-regex-util": {
@@ -6831,9 +6570,6 @@
},
"engines": {
"node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
"node_modules/jest-resolve/node_modules/chalk": {
@@ -6847,9 +6583,6 @@
},
"engines": {
"node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
}
},
"node_modules/jest-resolve/node_modules/color-convert": {
@@ -6941,9 +6674,6 @@
},
"engines": {
"node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
"node_modules/jest-runner/node_modules/chalk": {
@@ -6957,9 +6687,6 @@
},
"engines": {
"node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
}
},
"node_modules/jest-runner/node_modules/color-convert": {
@@ -7052,9 +6779,6 @@
},
"engines": {
"node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
"node_modules/jest-runtime/node_modules/chalk": {
@@ -7068,9 +6792,6 @@
},
"engines": {
"node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
}
},
"node_modules/jest-runtime/node_modules/color-convert": {
@@ -7171,9 +6892,6 @@
},
"engines": {
"node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
"node_modules/jest-snapshot/node_modules/chalk": {
@@ -7187,9 +6905,6 @@
},
"engines": {
"node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
}
},
"node_modules/jest-snapshot/node_modules/color-convert": {
@@ -7273,9 +6988,6 @@
},
"engines": {
"node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
"node_modules/jest-util/node_modules/braces": {
@@ -7301,9 +7013,6 @@
},
"engines": {
"node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
}
},
"node_modules/jest-util/node_modules/color-convert": {
@@ -7418,9 +7127,6 @@
},
"engines": {
"node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
"node_modules/jest-validate/node_modules/chalk": {
@@ -7434,9 +7140,6 @@
},
"engines": {
"node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
}
},
"node_modules/jest-validate/node_modules/color-convert": {
@@ -7506,9 +7209,6 @@
},
"engines": {
"node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
"node_modules/jest-watcher/node_modules/chalk": {
@@ -7522,9 +7222,6 @@
},
"engines": {
"node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
}
},
"node_modules/jest-watcher/node_modules/color-convert": {
@@ -7660,14 +7357,6 @@
},
"engines": {
"node": ">=10"
- },
- "peerDependencies": {
- "canvas": "^2.5.0"
- },
- "peerDependenciesMeta": {
- "canvas": {
- "optional": true
- }
}
},
"node_modules/jsdom/node_modules/acorn": {
@@ -7747,19 +7436,13 @@
"integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
"dependencies": {
"graceful-fs": "^4.1.6"
- },
- "optionalDependencies": {
- "graceful-fs": "^4.1.6"
}
},
"node_modules/jsonify": {
"version": "0.0.0",
"resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz",
"integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=",
- "dev": true,
- "engines": {
- "node": "*"
- }
+ "dev": true
},
"node_modules/jsonparse": {
"version": "1.3.1",
@@ -8528,34 +8211,13 @@
"bson": "^1.1.4",
"denque": "^1.4.1",
"require_optional": "^1.0.1",
- "safe-buffer": "^5.1.2",
- "saslprep": "^1.0.0"
+ "safe-buffer": "^5.1.2"
},
"engines": {
"node": ">=4"
},
"optionalDependencies": {
"saslprep": "^1.0.0"
- },
- "peerDependenciesMeta": {
- "aws4": {
- "optional": true
- },
- "bson-ext": {
- "optional": true
- },
- "kerberos": {
- "optional": true
- },
- "mongodb-client-encryption": {
- "optional": true
- },
- "mongodb-extjson": {
- "optional": true
- },
- "snappy": {
- "optional": true
- }
}
},
"node_modules/mongoose": {
@@ -8578,19 +8240,12 @@
},
"engines": {
"node": ">=4.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/mongoose"
}
},
"node_modules/mongoose-autopopulate": {
"version": "0.12.3",
"resolved": "https://registry.npmjs.org/mongoose-autopopulate/-/mongoose-autopopulate-0.12.3.tgz",
- "integrity": "sha512-yNmYsfi6OpS/GQ+48mkB0KQ199ExHmmPrt3wt3fyxPHPMtEBGts7yq3wBQR6VgKCPOQaKvCI1URbJCPOtrPeLw==",
- "peerDependencies": {
- "mongoose": "4.x || 5.x"
- }
+ "integrity": "sha512-yNmYsfi6OpS/GQ+48mkB0KQ199ExHmmPrt3wt3fyxPHPMtEBGts7yq3wBQR6VgKCPOQaKvCI1URbJCPOtrPeLw=="
},
"node_modules/mongoose-legacy-pluralize": {
"version": "1.0.2",
@@ -8600,10 +8255,7 @@
"node_modules/mongoose-long": {
"version": "0.3.2",
"resolved": "https://registry.npmjs.org/mongoose-long/-/mongoose-long-0.3.2.tgz",
- "integrity": "sha512-5gTjPH6HUmtNhamv8MPwExWo01Z4d9CT5njZlupqqbmxzMXTbDOgCuP/jnK+9SV0Fs7nuyYlXv7pJ/nA2pAAuA==",
- "peerDependencies": {
- "mongoose": "4.x || 5.x"
- }
+ "integrity": "sha512-5gTjPH6HUmtNhamv8MPwExWo01Z4d9CT5njZlupqqbmxzMXTbDOgCuP/jnK+9SV0Fs7nuyYlXv7pJ/nA2pAAuA=="
},
"node_modules/mongoose/node_modules/ms": {
"version": "2.1.2",
@@ -8613,21 +8265,7 @@
"node_modules/mongoose/node_modules/safe-buffer": {
"version": "5.2.1",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
- "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ]
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="
},
"node_modules/morphdom": {
"version": "2.6.1",
@@ -9205,9 +8843,6 @@
},
"engines": {
"node": ">=6"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/opn": {
@@ -9285,9 +8920,6 @@
"dev": true,
"engines": {
"node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/p-finally": {
@@ -9373,9 +9005,6 @@
},
"engines": {
"node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/parse5": {
@@ -9629,9 +9258,6 @@
"dev": true,
"engines": {
"node": ">=8.6"
- },
- "funding": {
- "url": "https://github.com/sponsors/jonschlinkert"
}
},
"node_modules/pify": {
@@ -9736,9 +9362,6 @@
},
"engines": {
"node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
"node_modules/pretty-format/node_modules/color-convert": {
@@ -10046,9 +9669,6 @@
},
"engines": {
"node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/read-pkg-up/node_modules/type-fest": {
@@ -10168,7 +9788,6 @@
"version": "2.88.2",
"resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz",
"integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==",
- "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142",
"dev": true,
"dependencies": {
"aws-sign2": "~0.7.0",
@@ -10206,16 +9825,12 @@
},
"engines": {
"node": ">=0.10.0"
- },
- "peerDependencies": {
- "request": "^2.34"
}
},
"node_modules/request-promise-native": {
"version": "1.0.9",
"resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz",
"integrity": "sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==",
- "deprecated": "request-promise-native has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142",
"dev": true,
"dependencies": {
"request-promise-core": "1.1.4",
@@ -10224,9 +9839,6 @@
},
"engines": {
"node": ">=0.12.0"
- },
- "peerDependencies": {
- "request": "^2.34"
}
},
"node_modules/request-promise-native/node_modules/punycode": {
@@ -10337,9 +9949,6 @@
"dependencies": {
"is-core-module": "^2.2.0",
"path-parse": "^1.0.6"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/resolve-cwd": {
@@ -10386,8 +9995,7 @@
"node_modules/resolve-url": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
- "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
- "deprecated": "https://github.com/lydell/resolve-url#deprecated"
+ "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo="
},
"node_modules/ret": {
"version": "0.1.15",
@@ -10814,21 +10422,7 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz",
"integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ]
+ "dev": true
},
"node_modules/single-line-log": {
"version": "1.1.2",
@@ -11176,11 +10770,6 @@
"safer-buffer": "^2.0.2",
"tweetnacl": "~0.14.0"
},
- "bin": {
- "sshpk-conv": "bin/sshpk-conv",
- "sshpk-sign": "bin/sshpk-sign",
- "sshpk-verify": "bin/sshpk-verify"
- },
"engines": {
"node": ">=0.10.0"
}
@@ -11600,9 +11189,6 @@
},
"engines": {
"node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/test-exclude": {
@@ -11797,20 +11383,6 @@
"resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz",
"integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==",
"dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
"engines": {
"node": ">=4"
}
@@ -11982,9 +11554,6 @@
"dev": true,
"engines": {
"node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/type-is": {
@@ -12159,8 +11728,7 @@
"node_modules/urix": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
- "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=",
- "deprecated": "Please see https://github.com/lydell/urix#deprecated"
+ "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI="
},
"node_modules/url": {
"version": "0.11.0",
@@ -12453,9 +12021,6 @@
},
"engines": {
"node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
"node_modules/wrap-ansi/node_modules/color-convert": {
@@ -12535,18 +12100,6 @@
"dev": true,
"engines": {
"node": ">=8.3.0"
- },
- "peerDependencies": {
- "bufferutil": "^4.0.1",
- "utf-8-validate": "^5.0.2"
- },
- "peerDependenciesMeta": {
- "bufferutil": {
- "optional": true
- },
- "utf-8-validate": {
- "optional": true
- }
}
},
"node_modules/xml-name-validator": {
@@ -18155,8 +17708,7 @@
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz",
"integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==",
- "dev": true,
- "requires": {}
+ "dev": true
},
"jest-regex-util": {
"version": "26.0.0",
@@ -19593,8 +19145,7 @@
"mongoose-autopopulate": {
"version": "0.12.3",
"resolved": "https://registry.npmjs.org/mongoose-autopopulate/-/mongoose-autopopulate-0.12.3.tgz",
- "integrity": "sha512-yNmYsfi6OpS/GQ+48mkB0KQ199ExHmmPrt3wt3fyxPHPMtEBGts7yq3wBQR6VgKCPOQaKvCI1URbJCPOtrPeLw==",
- "requires": {}
+ "integrity": "sha512-yNmYsfi6OpS/GQ+48mkB0KQ199ExHmmPrt3wt3fyxPHPMtEBGts7yq3wBQR6VgKCPOQaKvCI1URbJCPOtrPeLw=="
},
"mongoose-legacy-pluralize": {
"version": "1.0.2",
@@ -19604,8 +19155,7 @@
"mongoose-long": {
"version": "0.3.2",
"resolved": "https://registry.npmjs.org/mongoose-long/-/mongoose-long-0.3.2.tgz",
- "integrity": "sha512-5gTjPH6HUmtNhamv8MPwExWo01Z4d9CT5njZlupqqbmxzMXTbDOgCuP/jnK+9SV0Fs7nuyYlXv7pJ/nA2pAAuA==",
- "requires": {}
+ "integrity": "sha512-5gTjPH6HUmtNhamv8MPwExWo01Z4d9CT5njZlupqqbmxzMXTbDOgCuP/jnK+9SV0Fs7nuyYlXv7pJ/nA2pAAuA=="
},
"morphdom": {
"version": "2.6.1",
@@ -22768,8 +22318,7 @@
"version": "7.4.4",
"resolved": "https://registry.npmjs.org/ws/-/ws-7.4.4.tgz",
"integrity": "sha512-Qm8k8ojNQIMx7S+Zp8u/uHOx7Qazv3Yv4q68MiWWWOJhiwG5W3x7iqmRtJo8xxrciZUY4vRxUTJCKuRnF28ZZw==",
- "dev": true,
- "requires": {}
+ "dev": true
},
"xml-name-validator": {
"version": "3.0.0",
diff --git a/src/Server.ts b/src/Server.ts
index c7c52c1f..c7f36233 100644
--- a/src/Server.ts
+++ b/src/Server.ts
@@ -12,8 +12,13 @@ import { ErrorHandler } from "./middlewares/ErrorHandler";
import { BodyParser } from "./middlewares/BodyParser";
import { Router } from "express";
import fetch from "node-fetch";
+import mongoose from "mongoose";
-export interface FosscordServerOptions extends ServerOptions {}
+// this will return the new updated document for findOneAndUpdate
+mongoose.set('returnOriginal', false); // https://mongoosejs.com/docs/api/model.html#model_Model.findOneAndUpdate
+
+
+export interface FosscordServerOptions extends ServerOptions { }
declare global {
namespace Express {
diff --git a/src/global.d.ts b/src/global.d.ts
new file mode 100644
index 00000000..3eb70f44
--- /dev/null
+++ b/src/global.d.ts
@@ -0,0 +1,8 @@
+declare global {
+ namespace Express {
+ interface Request {
+ user_id: any;
+ token: any;
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/routes/channels/#channel_id/index.ts b/src/routes/channels/#channel_id/index.ts
index f6970df3..730c1a67 100644
--- a/src/routes/channels/#channel_id/index.ts
+++ b/src/routes/channels/#channel_id/index.ts
@@ -1,30 +1,57 @@
-import { ChannelModel, getPermission, toObject } from "@fosscord/server-util";
+import { ChannelDeleteEvent, ChannelModel, ChannelUpdateEvent, getPermission, toObject } from "@fosscord/server-util";
import { Router } from "express";
import { HTTPError } from "lambert-server";
+import { ChannelModifySchema } from "../../../schema/Channel";
+import { emitEvent } from "../../../util/Event";
+import { check } from "../../../util/instanceOf";
const router: Router = Router();
// TODO: delete channel
// TODO: Get channel
-router.delete("/", async(req,res)=>{
- const {channel_id} = req.params
+router.delete("/", async (req, res) => {
+ const { channel_id } = req.params
const channel = await ChannelModel.findOne({ id: channel_id }, { guild_id: true, type: true, permission_overwrites: true }).exec();
if (!channel) throw new HTTPError("Channel not found", 404);
- if (channel.guild_id) {
- const permission = await getPermission(req.user_id, channel.guild_id)
- permission.hasThrow("MANAGE_CHANNELS")
-
- // TODO Channel Update Gateway event will fire for each of them
- await ChannelModel.updateMany({parent_id: channel_id}, {$set: {channel_id: null}}).exec()
-
- await ChannelModel.deleteOne({id: channel_id})
- }
-
+ const permission = await getPermission(req.user_id, channel.guild_id)
+ permission.hasThrow("MANAGE_CHANNELS")
+
+ // TODO Channel Update Gateway event will fire for each of them
+
+
+ await ChannelModel.deleteOne({ id: channel_id })
+
// TODO: Dm channel "close" not delete
-
+
const data = toObject(channel);
//TODO: Reload channel list if request successful
res.send(data)
})
+// should be good now
+
+router.patch("/", check(ChannelModifySchema), async (req, res) => {
+ var payload = req.body as ChannelModifySchema //new data
+ const { channel_id } = req.params
+ var channel = await ChannelModel.findOne({ id: channel_id }, { guild_id: true }).exec();
+ if (!channel) throw new HTTPError("Channel not found", 404);
+
+ const permission = await getPermission(req.user_id, channel.guild_id, channel_id)
+ permission.hasThrow("MANAGE_CHANNELS")
+ channel = await ChannelModel.findOneAndUpdate({ id: channel_id }, payload).exec()
+ if (!channel) throw new HTTPError("Channel not found", 404);
+
+ //const data = toObject(channel);
+ //TODO: Reload channel list if request successful
+
+ await emitEvent({
+ event: "CHANNEL_UPDATE",
+ data: channel,
+ guild_id: channel.guild_id,
+ } as ChannelUpdateEvent)
+
+ res.send(toObject(channel));
+})
+
export default router;
+
diff --git a/src/schema/Channel.ts b/src/schema/Channel.ts
index 70e305e4..3189091d 100644
--- a/src/schema/Channel.ts
+++ b/src/schema/Channel.ts
@@ -37,7 +37,7 @@ export interface ChannelModifySchema {
topic?: string;
bitrate?: number;
user_limit?: number;
- rate_limit_per_user?: Number;
+ rate_limit_per_user?: number;
position?: number;
permission_overwrites?: {
id: string;
|