diff --git a/package-lock.json b/package-lock.json
index 4e40ede6..17d70c4a 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -12,10 +12,14 @@
"jsonwebtoken": "^8.5.1",
"lambert-db": "^1.1.7",
"missing-native-js-functions": "^1.2.2",
- "mongodb": "^3.6.4"
+ "mongodb": "^3.6.6",
+ "mongoose": "^5.12.3",
+ "mongoose-autopopulate": "^0.12.3"
},
"devDependencies": {
"@types/jsonwebtoken": "^8.5.0",
+ "@types/mongoose-autopopulate": "^0.10.1",
+ "@types/mongoose-lean-virtuals": "^0.5.1",
"@types/node": "^14.14.25",
"typescript": "^4.1.3"
}
@@ -46,6 +50,34 @@
"@types/node": "*"
}
},
+ "node_modules/@types/mongoose": {
+ "version": "5.10.4",
+ "resolved": "https://registry.npmjs.org/@types/mongoose/-/mongoose-5.10.4.tgz",
+ "integrity": "sha512-U7fNDcTcdaSGzQ3+mlSBeebiYr6eaacJi330LTLOEh8Sm6mXfuec70ag/UXkL+alFm7pfAjFqfc7jEaJEJvAHQ==",
+ "dev": true,
+ "dependencies": {
+ "@types/mongodb": "*",
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@types/mongoose-autopopulate": {
+ "version": "0.10.1",
+ "resolved": "https://registry.npmjs.org/@types/mongoose-autopopulate/-/mongoose-autopopulate-0.10.1.tgz",
+ "integrity": "sha512-L67MAIE3WEoTtt7a7/spRYk+76lgp67FAP6I38Y9NcC1kQuzwqnukTaJzodfb8180wxHZM4qt68u6x6ptuDRaQ==",
+ "dev": true,
+ "dependencies": {
+ "@types/mongoose": "*"
+ }
+ },
+ "node_modules/@types/mongoose-lean-virtuals": {
+ "version": "0.5.1",
+ "resolved": "https://registry.npmjs.org/@types/mongoose-lean-virtuals/-/mongoose-lean-virtuals-0.5.1.tgz",
+ "integrity": "sha512-bNk+QLjP5VZU4EsJag4xQsjLAa8CEm/SKZDyiC2kM208wIrGum6daD7j45Oqs50bWNGfqZYRuEhh8xZ17D7aEw==",
+ "dev": true,
+ "dependencies": {
+ "@types/mongoose": "*"
+ }
+ },
"node_modules/@types/node": {
"version": "14.14.25",
"resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.25.tgz",
@@ -562,14 +594,14 @@
}
},
"node_modules/mongodb": {
- "version": "3.6.4",
- "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.6.4.tgz",
- "integrity": "sha512-Y+Ki9iXE9jI+n9bVtbTOOdK0B95d6wVGSucwtBkvQ+HIvVdTCfpVRp01FDC24uhC/Q2WXQ8Lpq3/zwtB5Op9Qw==",
+ "version": "3.6.6",
+ "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.6.6.tgz",
+ "integrity": "sha512-WlirMiuV1UPbej5JeCMqE93JRfZ/ZzqE7nJTwP85XzjAF4rRSeq2bGCb1cjfoHLOF06+HxADaPGqT0g3SbVT1w==",
"dependencies": {
"bl": "^2.2.1",
"bson": "^1.1.4",
"denque": "^1.4.1",
- "require_optional": "^1.0.1",
+ "optional-require": "^1.0.2",
"safe-buffer": "^5.1.2",
"saslprep": "^1.0.0"
},
@@ -674,17 +706,17 @@
}
},
"node_modules/mongoose": {
- "version": "5.11.15",
- "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-5.11.15.tgz",
- "integrity": "sha512-8T4bT6eCGB7MqCm40oVhnhT/1AyAdwe+y1rYUhdl3ljsks3BpYz8whZgcMkIoh6VoCCjipOXRqZqdk1UByvlYA==",
+ "version": "5.12.3",
+ "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-5.12.3.tgz",
+ "integrity": "sha512-frsSR9yeldaRpSUeTegXCSB0Tu5UGq8sHuHBuEV31Jk3COyxlKFQPL7UsdMhxPUCmk74FpOYSmNwxhWBEqgzQg==",
"dependencies": {
"@types/mongodb": "^3.5.27",
"bson": "^1.1.4",
"kareem": "2.3.2",
- "mongodb": "3.6.3",
+ "mongodb": "3.6.5",
"mongoose-legacy-pluralize": "1.0.2",
"mpath": "0.8.3",
- "mquery": "3.2.3",
+ "mquery": "3.2.5",
"ms": "2.1.2",
"regexp-clone": "1.0.0",
"safe-buffer": "5.2.1",
@@ -699,6 +731,14 @@
"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"
+ }
+ },
"node_modules/mongoose-legacy-pluralize": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/mongoose-legacy-pluralize/-/mongoose-legacy-pluralize-1.0.2.tgz",
@@ -708,9 +748,9 @@
}
},
"node_modules/mongoose/node_modules/mongodb": {
- "version": "3.6.3",
- "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.6.3.tgz",
- "integrity": "sha512-rOZuR0QkodZiM+UbQE5kDsJykBqWi0CL4Ec2i1nrGrUI3KO11r6Fbxskqmq3JK2NH7aW4dcccBuUujAP0ERl5w==",
+ "version": "3.6.5",
+ "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.6.5.tgz",
+ "integrity": "sha512-mQlYKw1iGbvJJejcPuyTaytq0xxlYbIoVDm2FODR+OHxyEiMR021vc32bTvamgBjCswsD54XIRwhg3yBaWqJjg==",
"dependencies": {
"bl": "^2.2.1",
"bson": "^1.1.4",
@@ -755,9 +795,9 @@
}
},
"node_modules/mquery": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/mquery/-/mquery-3.2.3.tgz",
- "integrity": "sha512-cIfbP4TyMYX+SkaQ2MntD+F2XbqaBHUYWk3j+kqdDztPWok3tgyssOZxMHMtzbV1w9DaSlvEea0Iocuro41A4g==",
+ "version": "3.2.5",
+ "resolved": "https://registry.npmjs.org/mquery/-/mquery-3.2.5.tgz",
+ "integrity": "sha512-VjOKHHgU84wij7IUoZzFRU07IAxd5kWJaDmyUzQlbjHjyoeK5TNeeo8ZsFDtTYnSgpW6n/nMNIHvE3u8Lbrf4A==",
"dependencies": {
"bluebird": "3.5.1",
"debug": "3.1.0",
@@ -800,6 +840,14 @@
"wrappy": "1"
}
},
+ "node_modules/optional-require": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/optional-require/-/optional-require-1.0.2.tgz",
+ "integrity": "sha512-HZubVd6IfHsbnpdNF/ICaSAzBUEW1TievpkjY3tB4Jnk8L7+pJ3conPzUt3Mn/6OZx9uzTDOHYPGA8/AxYHBOg==",
+ "engines": {
+ "node": ">=4"
+ }
+ },
"node_modules/p-limit": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
@@ -1155,6 +1203,34 @@
"@types/node": "*"
}
},
+ "@types/mongoose": {
+ "version": "5.10.4",
+ "resolved": "https://registry.npmjs.org/@types/mongoose/-/mongoose-5.10.4.tgz",
+ "integrity": "sha512-U7fNDcTcdaSGzQ3+mlSBeebiYr6eaacJi330LTLOEh8Sm6mXfuec70ag/UXkL+alFm7pfAjFqfc7jEaJEJvAHQ==",
+ "dev": true,
+ "requires": {
+ "@types/mongodb": "*",
+ "@types/node": "*"
+ }
+ },
+ "@types/mongoose-autopopulate": {
+ "version": "0.10.1",
+ "resolved": "https://registry.npmjs.org/@types/mongoose-autopopulate/-/mongoose-autopopulate-0.10.1.tgz",
+ "integrity": "sha512-L67MAIE3WEoTtt7a7/spRYk+76lgp67FAP6I38Y9NcC1kQuzwqnukTaJzodfb8180wxHZM4qt68u6x6ptuDRaQ==",
+ "dev": true,
+ "requires": {
+ "@types/mongoose": "*"
+ }
+ },
+ "@types/mongoose-lean-virtuals": {
+ "version": "0.5.1",
+ "resolved": "https://registry.npmjs.org/@types/mongoose-lean-virtuals/-/mongoose-lean-virtuals-0.5.1.tgz",
+ "integrity": "sha512-bNk+QLjP5VZU4EsJag4xQsjLAa8CEm/SKZDyiC2kM208wIrGum6daD7j45Oqs50bWNGfqZYRuEhh8xZ17D7aEw==",
+ "dev": true,
+ "requires": {
+ "@types/mongoose": "*"
+ }
+ },
"@types/node": {
"version": "14.14.25",
"resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.25.tgz",
@@ -1544,14 +1620,14 @@
"integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw=="
},
"mongodb": {
- "version": "3.6.4",
- "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.6.4.tgz",
- "integrity": "sha512-Y+Ki9iXE9jI+n9bVtbTOOdK0B95d6wVGSucwtBkvQ+HIvVdTCfpVRp01FDC24uhC/Q2WXQ8Lpq3/zwtB5Op9Qw==",
+ "version": "3.6.6",
+ "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.6.6.tgz",
+ "integrity": "sha512-WlirMiuV1UPbej5JeCMqE93JRfZ/ZzqE7nJTwP85XzjAF4rRSeq2bGCb1cjfoHLOF06+HxADaPGqT0g3SbVT1w==",
"requires": {
"bl": "^2.2.1",
"bson": "^1.1.4",
"denque": "^1.4.1",
- "require_optional": "^1.0.1",
+ "optional-require": "^1.0.2",
"safe-buffer": "^5.1.2",
"saslprep": "^1.0.0"
}
@@ -1613,17 +1689,17 @@
}
},
"mongoose": {
- "version": "5.11.15",
- "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-5.11.15.tgz",
- "integrity": "sha512-8T4bT6eCGB7MqCm40oVhnhT/1AyAdwe+y1rYUhdl3ljsks3BpYz8whZgcMkIoh6VoCCjipOXRqZqdk1UByvlYA==",
+ "version": "5.12.3",
+ "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-5.12.3.tgz",
+ "integrity": "sha512-frsSR9yeldaRpSUeTegXCSB0Tu5UGq8sHuHBuEV31Jk3COyxlKFQPL7UsdMhxPUCmk74FpOYSmNwxhWBEqgzQg==",
"requires": {
"@types/mongodb": "^3.5.27",
"bson": "^1.1.4",
"kareem": "2.3.2",
- "mongodb": "3.6.3",
+ "mongodb": "3.6.5",
"mongoose-legacy-pluralize": "1.0.2",
"mpath": "0.8.3",
- "mquery": "3.2.3",
+ "mquery": "3.2.5",
"ms": "2.1.2",
"regexp-clone": "1.0.0",
"safe-buffer": "5.2.1",
@@ -1632,9 +1708,9 @@
},
"dependencies": {
"mongodb": {
- "version": "3.6.3",
- "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.6.3.tgz",
- "integrity": "sha512-rOZuR0QkodZiM+UbQE5kDsJykBqWi0CL4Ec2i1nrGrUI3KO11r6Fbxskqmq3JK2NH7aW4dcccBuUujAP0ERl5w==",
+ "version": "3.6.5",
+ "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.6.5.tgz",
+ "integrity": "sha512-mQlYKw1iGbvJJejcPuyTaytq0xxlYbIoVDm2FODR+OHxyEiMR021vc32bTvamgBjCswsD54XIRwhg3yBaWqJjg==",
"requires": {
"bl": "^2.2.1",
"bson": "^1.1.4",
@@ -1646,6 +1722,12 @@
}
}
},
+ "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": {}
+ },
"mongoose-legacy-pluralize": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/mongoose-legacy-pluralize/-/mongoose-legacy-pluralize-1.0.2.tgz",
@@ -1658,9 +1740,9 @@
"integrity": "sha512-eb9rRvhDltXVNL6Fxd2zM9D4vKBxjVVQNLNijlj7uoXUy19zNDsIif5zR+pWmPCWNKwAtqyo4JveQm4nfD5+eA=="
},
"mquery": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/mquery/-/mquery-3.2.3.tgz",
- "integrity": "sha512-cIfbP4TyMYX+SkaQ2MntD+F2XbqaBHUYWk3j+kqdDztPWok3tgyssOZxMHMtzbV1w9DaSlvEea0Iocuro41A4g==",
+ "version": "3.2.5",
+ "resolved": "https://registry.npmjs.org/mquery/-/mquery-3.2.5.tgz",
+ "integrity": "sha512-VjOKHHgU84wij7IUoZzFRU07IAxd5kWJaDmyUzQlbjHjyoeK5TNeeo8ZsFDtTYnSgpW6n/nMNIHvE3u8Lbrf4A==",
"requires": {
"bluebird": "3.5.1",
"debug": "3.1.0",
@@ -1702,6 +1784,11 @@
"wrappy": "1"
}
},
+ "optional-require": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/optional-require/-/optional-require-1.0.2.tgz",
+ "integrity": "sha512-HZubVd6IfHsbnpdNF/ICaSAzBUEW1TievpkjY3tB4Jnk8L7+pJ3conPzUt3Mn/6OZx9uzTDOHYPGA8/AxYHBOg=="
+ },
"p-limit": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
|