mirror of
https://github.com/PretendoNetwork/account.git
synced 2026-04-25 15:41:36 -05:00
Better typed Mongoose models
This commit is contained in:
parent
75de643ac5
commit
d05a1eed91
621
package-lock.json
generated
621
package-lock.json
generated
|
|
@ -1,19 +1,18 @@
|
|||
{
|
||||
"name": "account",
|
||||
"version": "1.0.0",
|
||||
"version": "2.0.0",
|
||||
"lockfileVersion": 2,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "account",
|
||||
"version": "1.0.0",
|
||||
"version": "2.0.0",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"aws-sdk": "^2.978.0",
|
||||
"bcrypt": "^5.0.0",
|
||||
"colors": "^1.4.0",
|
||||
"cors": "^2.8.5",
|
||||
"countries-and-timezones": "^3.4.1",
|
||||
"dicer": "^0.2.5",
|
||||
"dotenv": "^16.0.3",
|
||||
"email-validator": "^2.0.4",
|
||||
|
|
@ -25,15 +24,13 @@
|
|||
"hcaptcha": "^0.1.0",
|
||||
"image-pixels": "^1.1.1",
|
||||
"joi": "^17.8.3",
|
||||
"kaitai-struct": "^0.9.0",
|
||||
"lodash.get": "^4.4.2",
|
||||
"lodash.set": "^4.3.2",
|
||||
"mii-js": "github:PretendoNetwork/mii-js",
|
||||
"moment": "^2.29.4",
|
||||
"mongoose": "^5.8.3",
|
||||
"mongoose": "^7.0.0",
|
||||
"mongoose-unique-validator": "^2.0.3",
|
||||
"morgan": "^1.9.1",
|
||||
"neat-config": "^1.0.0",
|
||||
"nodemailer": "^6.4.2",
|
||||
"redis": "^4.3.1",
|
||||
"tga": "^1.0.4",
|
||||
|
|
@ -312,14 +309,6 @@
|
|||
"@types/node": "*"
|
||||
}
|
||||
},
|
||||
"node_modules/@types/bson": {
|
||||
"version": "4.0.5",
|
||||
"resolved": "https://registry.npmjs.org/@types/bson/-/bson-4.0.5.tgz",
|
||||
"integrity": "sha512-vVLwMUqhYJSQ/WKcE60eFqcyuWse5fGH+NMAXHuKrUAPoryq3ATxk5o4bgYNtg5aOM4APVg7Hnb3ASqUYG0PKg==",
|
||||
"dependencies": {
|
||||
"@types/node": "*"
|
||||
}
|
||||
},
|
||||
"node_modules/@types/cacheable-request": {
|
||||
"version": "6.0.3",
|
||||
"resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.3.tgz",
|
||||
|
|
@ -411,15 +400,6 @@
|
|||
"integrity": "sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@types/mongodb": {
|
||||
"version": "3.6.20",
|
||||
"resolved": "https://registry.npmjs.org/@types/mongodb/-/mongodb-3.6.20.tgz",
|
||||
"integrity": "sha512-WcdpPJCakFzcWWD9juKoZbRtQxKIMYF/JIAM4JrNHrMcnJL6/a2NWjXxW7fo9hxboxxkg+icff8d7+WIEvKgYQ==",
|
||||
"dependencies": {
|
||||
"@types/bson": "*",
|
||||
"@types/node": "*"
|
||||
}
|
||||
},
|
||||
"node_modules/@types/morgan": {
|
||||
"version": "1.9.4",
|
||||
"resolved": "https://registry.npmjs.org/@types/morgan/-/morgan-1.9.4.tgz",
|
||||
|
|
@ -464,6 +444,20 @@
|
|||
"@types/node": "*"
|
||||
}
|
||||
},
|
||||
"node_modules/@types/webidl-conversions": {
|
||||
"version": "7.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-7.0.0.tgz",
|
||||
"integrity": "sha512-xTE1E+YF4aWPJJeUzaZI5DRntlkY3+BCVJi0axFptnjGmAoWxkyREIh/XMrfxVLejwQxMCfDXdICo0VLxThrog=="
|
||||
},
|
||||
"node_modules/@types/whatwg-url": {
|
||||
"version": "8.2.2",
|
||||
"resolved": "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-8.2.2.tgz",
|
||||
"integrity": "sha512-FtQu10RWgn3D9U4aazdwIE2yzphmTJREDqNdODHrbrZmmMqI0vMheC/6NE/J1Yveaj8H+ela+YwWTjq5PGmuhA==",
|
||||
"dependencies": {
|
||||
"@types/node": "*",
|
||||
"@types/webidl-conversions": "*"
|
||||
}
|
||||
},
|
||||
"node_modules/abbrev": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
|
||||
|
|
@ -768,47 +762,6 @@
|
|||
"resolved": "https://registry.npmjs.org/bit-buffer/-/bit-buffer-0.2.5.tgz",
|
||||
"integrity": "sha512-x1yGnmXvFg6e3DiyRztElbcn1bsCTFSoM/ncAzY62uE0JdTl5xlKJd0ooqLYoPbhdsnpehSIQrdIvclcZJYwiA=="
|
||||
},
|
||||
"node_modules/bl": {
|
||||
"version": "2.2.1",
|
||||
"resolved": "https://registry.npmjs.org/bl/-/bl-2.2.1.tgz",
|
||||
"integrity": "sha512-6Pesp1w0DEX1N550i/uGV/TqucVL4AM/pgThFSN/Qq9si1/DF9aIHs1BxD8V/QU0HoeHO6cQRTAuYnLPKq1e4g==",
|
||||
"dependencies": {
|
||||
"readable-stream": "^2.3.5",
|
||||
"safe-buffer": "^5.1.1"
|
||||
}
|
||||
},
|
||||
"node_modules/bl/node_modules/readable-stream": {
|
||||
"version": "2.3.8",
|
||||
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
|
||||
"integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
|
||||
"dependencies": {
|
||||
"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"
|
||||
}
|
||||
},
|
||||
"node_modules/bl/node_modules/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=="
|
||||
},
|
||||
"node_modules/bl/node_modules/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==",
|
||||
"dependencies": {
|
||||
"safe-buffer": "~5.1.0"
|
||||
}
|
||||
},
|
||||
"node_modules/bluebird": {
|
||||
"version": "3.5.1",
|
||||
"resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz",
|
||||
"integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA=="
|
||||
},
|
||||
"node_modules/bmp-js": {
|
||||
"version": "0.1.0",
|
||||
"resolved": "https://registry.npmjs.org/bmp-js/-/bmp-js-0.1.0.tgz",
|
||||
|
|
@ -861,11 +814,11 @@
|
|||
}
|
||||
},
|
||||
"node_modules/bson": {
|
||||
"version": "1.1.6",
|
||||
"resolved": "https://registry.npmjs.org/bson/-/bson-1.1.6.tgz",
|
||||
"integrity": "sha512-EvVNVeGo4tHxwi8L6bPj3y3itEvStdwvvlojVxxbyYfoaxJ6keLgrTuKdyfEAszFK+H3olzBuafE0yoh0D1gdg==",
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/bson/-/bson-5.0.1.tgz",
|
||||
"integrity": "sha512-y09gBGusgHtinMon/GVbv1J6FrXhnr/+6hqLlSmEFzkz6PodqF6TxjyvfvY3AfO+oG1mgUtbC86xSbOlwvM62Q==",
|
||||
"engines": {
|
||||
"node": ">=0.6.19"
|
||||
"node": ">=14.20.1"
|
||||
}
|
||||
},
|
||||
"node_modules/buffer": {
|
||||
|
|
@ -1115,15 +1068,6 @@
|
|||
"node": ">= 0.10"
|
||||
}
|
||||
},
|
||||
"node_modules/countries-and-timezones": {
|
||||
"version": "3.4.1",
|
||||
"resolved": "https://registry.npmjs.org/countries-and-timezones/-/countries-and-timezones-3.4.1.tgz",
|
||||
"integrity": "sha512-INeHGCony4XUUR8iGL/lmt9s1Oi+n+gFHeJAMfbV5hJfYeDOB8JG1oxz5xFQu5oBZoRCJe/87k1Vzue9DoIauA==",
|
||||
"engines": {
|
||||
"node": ">=8.x",
|
||||
"npm": ">=5.x"
|
||||
}
|
||||
},
|
||||
"node_modules/cycle": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz",
|
||||
|
|
@ -1217,14 +1161,6 @@
|
|||
"resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
|
||||
"integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ=="
|
||||
},
|
||||
"node_modules/denque": {
|
||||
"version": "1.5.1",
|
||||
"resolved": "https://registry.npmjs.org/denque/-/denque-1.5.1.tgz",
|
||||
"integrity": "sha512-XwE+iZ4D6ZUB7mfYRMb5wByE8L74HCn30FBN7sWnXksWc1LO1bPDl67pBR9o/kC4z/xSNAwkMYcGgqDV3BE3Hw==",
|
||||
"engines": {
|
||||
"node": ">=0.10"
|
||||
}
|
||||
},
|
||||
"node_modules/depd": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
|
||||
|
|
@ -2093,6 +2029,11 @@
|
|||
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
|
||||
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
|
||||
},
|
||||
"node_modules/ip": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz",
|
||||
"integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ=="
|
||||
},
|
||||
"node_modules/ipaddr.js": {
|
||||
"version": "1.9.1",
|
||||
"resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
|
||||
|
|
@ -2326,15 +2267,13 @@
|
|||
"node": ">=0.6.0"
|
||||
}
|
||||
},
|
||||
"node_modules/kaitai-struct": {
|
||||
"version": "0.9.0",
|
||||
"resolved": "https://registry.npmjs.org/kaitai-struct/-/kaitai-struct-0.9.0.tgz",
|
||||
"integrity": "sha512-mfoBu9+IGqaY3ykG1TyAy9omOAZWtheqESQOvo/HKIQVTz+gRPVCNBnhjbO+8wAQ77RD33wYvLBWmITuXIviQg=="
|
||||
},
|
||||
"node_modules/kareem": {
|
||||
"version": "2.3.2",
|
||||
"resolved": "https://registry.npmjs.org/kareem/-/kareem-2.3.2.tgz",
|
||||
"integrity": "sha512-STHz9P7X2L4Kwn72fA4rGyqyXdmrMSdxqHx9IXon/FXluXieaFA6KJ2upcHAHxQPQ0LeM/OjLrhFxifHewOALQ=="
|
||||
"version": "2.5.1",
|
||||
"resolved": "https://registry.npmjs.org/kareem/-/kareem-2.5.1.tgz",
|
||||
"integrity": "sha512-7jFxRVm+jD+rkq3kY0iZDJfsO2/t4BBPeEb2qKn2lR/9KhuksYk5hxzfRYWMPV8P/x2d0kHD306YyWLzjjH+uA==",
|
||||
"engines": {
|
||||
"node": ">=12.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/keyv": {
|
||||
"version": "4.5.2",
|
||||
|
|
@ -2585,90 +2524,98 @@
|
|||
}
|
||||
},
|
||||
"node_modules/mongodb": {
|
||||
"version": "3.7.3",
|
||||
"resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.7.3.tgz",
|
||||
"integrity": "sha512-Psm+g3/wHXhjBEktkxXsFMZvd3nemI0r3IPsE0bU+4//PnvNWKkzhZcEsbPcYiWqe8XqXJJEg4Tgtr7Raw67Yw==",
|
||||
"version": "5.1.0",
|
||||
"resolved": "https://registry.npmjs.org/mongodb/-/mongodb-5.1.0.tgz",
|
||||
"integrity": "sha512-qgKb7y+EI90y4weY3z5+lIgm8wmexbonz0GalHkSElQXVKtRuwqXuhXKccyvIjXCJVy9qPV82zsinY0W1FBnJw==",
|
||||
"dependencies": {
|
||||
"bl": "^2.2.1",
|
||||
"bson": "^1.1.4",
|
||||
"denque": "^1.4.1",
|
||||
"optional-require": "^1.1.8",
|
||||
"safe-buffer": "^5.1.2"
|
||||
"bson": "^5.0.1",
|
||||
"mongodb-connection-string-url": "^2.6.0",
|
||||
"socks": "^2.7.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=4"
|
||||
"node": ">=14.20.1"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"saslprep": "^1.0.0"
|
||||
"saslprep": "^1.0.3"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@aws-sdk/credential-providers": "^3.201.0",
|
||||
"mongodb-client-encryption": "^2.3.0",
|
||||
"snappy": "^7.2.2"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"aws4": {
|
||||
"optional": true
|
||||
},
|
||||
"bson-ext": {
|
||||
"optional": true
|
||||
},
|
||||
"kerberos": {
|
||||
"@aws-sdk/credential-providers": {
|
||||
"optional": true
|
||||
},
|
||||
"mongodb-client-encryption": {
|
||||
"optional": true
|
||||
},
|
||||
"mongodb-extjson": {
|
||||
"optional": true
|
||||
},
|
||||
"snappy": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/mongodb/node_modules/optional-require": {
|
||||
"version": "1.1.8",
|
||||
"resolved": "https://registry.npmjs.org/optional-require/-/optional-require-1.1.8.tgz",
|
||||
"integrity": "sha512-jq83qaUb0wNg9Krv1c5OQ+58EK+vHde6aBPzLvPPqJm89UQWsvSuFy9X/OSNJnFeSOKo7btE0n8Nl2+nE+z5nA==",
|
||||
"node_modules/mongodb-connection-string-url": {
|
||||
"version": "2.6.0",
|
||||
"resolved": "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-2.6.0.tgz",
|
||||
"integrity": "sha512-WvTZlI9ab0QYtTYnuMLgobULWhokRjtC7db9LtcVfJ+Hsnyr5eo6ZtNAt3Ly24XZScGMelOcGtm7lSn0332tPQ==",
|
||||
"dependencies": {
|
||||
"require-at": "^1.0.6"
|
||||
"@types/whatwg-url": "^8.2.1",
|
||||
"whatwg-url": "^11.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/mongodb-connection-string-url/node_modules/tr46": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz",
|
||||
"integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==",
|
||||
"dependencies": {
|
||||
"punycode": "^2.1.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=4"
|
||||
"node": ">=12"
|
||||
}
|
||||
},
|
||||
"node_modules/mongodb-connection-string-url/node_modules/webidl-conversions": {
|
||||
"version": "7.0.0",
|
||||
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz",
|
||||
"integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==",
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
}
|
||||
},
|
||||
"node_modules/mongodb-connection-string-url/node_modules/whatwg-url": {
|
||||
"version": "11.0.0",
|
||||
"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz",
|
||||
"integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==",
|
||||
"dependencies": {
|
||||
"tr46": "^3.0.0",
|
||||
"webidl-conversions": "^7.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
}
|
||||
},
|
||||
"node_modules/mongoose": {
|
||||
"version": "5.13.16",
|
||||
"resolved": "https://registry.npmjs.org/mongoose/-/mongoose-5.13.16.tgz",
|
||||
"integrity": "sha512-kBNB+BfaQjn3Jjh1SfdZZub70pde9dI0sA8VN6AnnCOeK4TzbLDyB0lBmPBOajppm6U9orde5YfTRyyVa1U45w==",
|
||||
"version": "7.0.0",
|
||||
"resolved": "https://registry.npmjs.org/mongoose/-/mongoose-7.0.0.tgz",
|
||||
"integrity": "sha512-U0YPURDld+k/nvvSG1mRClQSjZMRXwQKSU5yb9PslRnOmVz0UlBD7SjSnjUuGT0yk+7BH+kJNimsKqMxYAKkMA==",
|
||||
"dependencies": {
|
||||
"@types/bson": "1.x || 4.0.x",
|
||||
"@types/mongodb": "^3.5.27",
|
||||
"bson": "^1.1.4",
|
||||
"kareem": "2.3.2",
|
||||
"mongodb": "3.7.3",
|
||||
"mongoose-legacy-pluralize": "1.0.2",
|
||||
"mpath": "0.8.4",
|
||||
"mquery": "3.2.5",
|
||||
"ms": "2.1.2",
|
||||
"optional-require": "1.0.x",
|
||||
"regexp-clone": "1.0.0",
|
||||
"safe-buffer": "5.2.1",
|
||||
"sift": "13.5.2",
|
||||
"sliced": "1.0.1"
|
||||
"bson": "^5.0.1",
|
||||
"kareem": "2.5.1",
|
||||
"mongodb": "5.1.0",
|
||||
"mpath": "0.9.0",
|
||||
"mquery": "5.0.0",
|
||||
"ms": "2.1.3",
|
||||
"sift": "16.0.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=4.0.0"
|
||||
"node": ">=14.0.0"
|
||||
},
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/mongoose"
|
||||
}
|
||||
},
|
||||
"node_modules/mongoose-legacy-pluralize": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/mongoose-legacy-pluralize/-/mongoose-legacy-pluralize-1.0.2.tgz",
|
||||
"integrity": "sha512-Yo/7qQU4/EyIS8YDFSeenIvXxZN+ld7YdV9LqFVQJzTLye8unujAWPZ4NWKfFA+RNjh+wvTWKY9Z3E5XM6ZZiQ==",
|
||||
"peerDependencies": {
|
||||
"mongoose": "*"
|
||||
}
|
||||
},
|
||||
"node_modules/mongoose-unique-validator": {
|
||||
"version": "2.0.3",
|
||||
"resolved": "https://registry.npmjs.org/mongoose-unique-validator/-/mongoose-unique-validator-2.0.3.tgz",
|
||||
|
|
@ -2682,9 +2629,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/mongoose/node_modules/ms": {
|
||||
"version": "2.1.2",
|
||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
|
||||
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
|
||||
"version": "2.1.3",
|
||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
|
||||
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
|
||||
},
|
||||
"node_modules/morgan": {
|
||||
"version": "1.10.0",
|
||||
|
|
@ -2713,40 +2660,44 @@
|
|||
}
|
||||
},
|
||||
"node_modules/mpath": {
|
||||
"version": "0.8.4",
|
||||
"resolved": "https://registry.npmjs.org/mpath/-/mpath-0.8.4.tgz",
|
||||
"integrity": "sha512-DTxNZomBcTWlrMW76jy1wvV37X/cNNxPW1y2Jzd4DZkAaC5ZGsm8bfGfNOthcDuRJujXLqiuS6o3Tpy0JEoh7g==",
|
||||
"version": "0.9.0",
|
||||
"resolved": "https://registry.npmjs.org/mpath/-/mpath-0.9.0.tgz",
|
||||
"integrity": "sha512-ikJRQTk8hw5DEoFVxHG1Gn9T/xcjtdnOKIU1JTmGjZZlg9LST2mBLmcX3/ICIbgJydT2GOc15RnNy5mHmzfSew==",
|
||||
"engines": {
|
||||
"node": ">=4.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/mquery": {
|
||||
"version": "3.2.5",
|
||||
"resolved": "https://registry.npmjs.org/mquery/-/mquery-3.2.5.tgz",
|
||||
"integrity": "sha512-VjOKHHgU84wij7IUoZzFRU07IAxd5kWJaDmyUzQlbjHjyoeK5TNeeo8ZsFDtTYnSgpW6n/nMNIHvE3u8Lbrf4A==",
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/mquery/-/mquery-5.0.0.tgz",
|
||||
"integrity": "sha512-iQMncpmEK8R8ncT8HJGsGc9Dsp8xcgYMVSbs5jgnm1lFHTZqMJTUWTDx1LBO8+mK3tPNZWFLBghQEIOULSTHZg==",
|
||||
"dependencies": {
|
||||
"bluebird": "3.5.1",
|
||||
"debug": "3.1.0",
|
||||
"regexp-clone": "^1.0.0",
|
||||
"safe-buffer": "5.1.2",
|
||||
"sliced": "1.0.1"
|
||||
"debug": "4.x"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=4.0.0"
|
||||
"node": ">=14.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/mquery/node_modules/debug": {
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
|
||||
"integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
|
||||
"version": "4.3.4",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
|
||||
"integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
|
||||
"dependencies": {
|
||||
"ms": "2.0.0"
|
||||
"ms": "2.1.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=6.0"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"supports-color": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/mquery/node_modules/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=="
|
||||
"node_modules/mquery/node_modules/ms": {
|
||||
"version": "2.1.2",
|
||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
|
||||
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
|
||||
},
|
||||
"node_modules/ms": {
|
||||
"version": "2.0.0",
|
||||
|
|
@ -2759,14 +2710,6 @@
|
|||
"integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/neat-config": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/neat-config/-/neat-config-1.0.0.tgz",
|
||||
"integrity": "sha512-EKvHxsZ9yOUHWhx6MxxzbTDhNK0wiSbfaU42s2OnQuVgR+FwpswaiSm3xX7ST4TcN+rJiEw+GuhfK015vHKwrA==",
|
||||
"dependencies": {
|
||||
"joi": "^17.6.0"
|
||||
}
|
||||
},
|
||||
"node_modules/negotiator": {
|
||||
"version": "0.6.3",
|
||||
"resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
|
||||
|
|
@ -2913,14 +2856,6 @@
|
|||
"wrappy": "1"
|
||||
}
|
||||
},
|
||||
"node_modules/optional-require": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/optional-require/-/optional-require-1.0.3.tgz",
|
||||
"integrity": "sha512-RV2Zp2MY2aeYK5G+B/Sps8lW5NHAzE5QClbFP15j+PWmP+T9PxlJXBOOLoSAdgwFvS4t0aMR4vpedMkbHfh0nA==",
|
||||
"engines": {
|
||||
"node": ">=4"
|
||||
}
|
||||
},
|
||||
"node_modules/optionator": {
|
||||
"version": "0.8.3",
|
||||
"resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz",
|
||||
|
|
@ -3175,11 +3110,6 @@
|
|||
"@redis/time-series": "1.0.4"
|
||||
}
|
||||
},
|
||||
"node_modules/regexp-clone": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/regexp-clone/-/regexp-clone-1.0.0.tgz",
|
||||
"integrity": "sha512-TuAasHQNamyyJ2hb97IuBEif4qBHGjPHBS64sZwytpLEqtBQ1gPJTnOaQ6qmpET16cK14kkjbazl6+p0RRv0yw=="
|
||||
},
|
||||
"node_modules/request": {
|
||||
"version": "2.88.2",
|
||||
"resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz",
|
||||
|
|
@ -3228,14 +3158,6 @@
|
|||
"uuid": "bin/uuid"
|
||||
}
|
||||
},
|
||||
"node_modules/require-at": {
|
||||
"version": "1.0.6",
|
||||
"resolved": "https://registry.npmjs.org/require-at/-/require-at-1.0.6.tgz",
|
||||
"integrity": "sha512-7i1auJbMUrXEAZCOQ0VNJgmcT2VOKPRl2YGJwgpHpC9CE91Mv4/4UYIUm4chGJaI381ZDq1JUicFii64Hapd8g==",
|
||||
"engines": {
|
||||
"node": ">=4"
|
||||
}
|
||||
},
|
||||
"node_modules/resolve": {
|
||||
"version": "1.22.1",
|
||||
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz",
|
||||
|
|
@ -3436,19 +3358,36 @@
|
|||
}
|
||||
},
|
||||
"node_modules/sift": {
|
||||
"version": "13.5.2",
|
||||
"resolved": "https://registry.npmjs.org/sift/-/sift-13.5.2.tgz",
|
||||
"integrity": "sha512-+gxdEOMA2J+AI+fVsCqeNn7Tgx3M9ZN9jdi95939l1IJ8cZsqS8sqpJyOkic2SJk+1+98Uwryt/gL6XDaV+UZA=="
|
||||
"version": "16.0.1",
|
||||
"resolved": "https://registry.npmjs.org/sift/-/sift-16.0.1.tgz",
|
||||
"integrity": "sha512-Wv6BjQ5zbhW7VFefWusVP33T/EM0vYikCaQ2qR8yULbsilAT8/wQaXvuQ3ptGLpoKx+lihJE3y2UTgKDyyNHZQ=="
|
||||
},
|
||||
"node_modules/signal-exit": {
|
||||
"version": "3.0.7",
|
||||
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
|
||||
"integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="
|
||||
},
|
||||
"node_modules/sliced": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/sliced/-/sliced-1.0.1.tgz",
|
||||
"integrity": "sha512-VZBmZP8WU3sMOZm1bdgTadsQbcscK0UM8oKxKVBs4XAhUo2Xxzm/OFMGBkPusxw9xL3Uy8LrzEqGqJhclsr0yA=="
|
||||
"node_modules/smart-buffer": {
|
||||
"version": "4.2.0",
|
||||
"resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz",
|
||||
"integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==",
|
||||
"engines": {
|
||||
"node": ">= 6.0.0",
|
||||
"npm": ">= 3.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/socks": {
|
||||
"version": "2.7.1",
|
||||
"resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz",
|
||||
"integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==",
|
||||
"dependencies": {
|
||||
"ip": "^2.0.0",
|
||||
"smart-buffer": "^4.2.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 10.13.0",
|
||||
"npm": ">= 3.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/source-map": {
|
||||
"version": "0.6.1",
|
||||
|
|
@ -4240,14 +4179,6 @@
|
|||
"@types/node": "*"
|
||||
}
|
||||
},
|
||||
"@types/bson": {
|
||||
"version": "4.0.5",
|
||||
"resolved": "https://registry.npmjs.org/@types/bson/-/bson-4.0.5.tgz",
|
||||
"integrity": "sha512-vVLwMUqhYJSQ/WKcE60eFqcyuWse5fGH+NMAXHuKrUAPoryq3ATxk5o4bgYNtg5aOM4APVg7Hnb3ASqUYG0PKg==",
|
||||
"requires": {
|
||||
"@types/node": "*"
|
||||
}
|
||||
},
|
||||
"@types/cacheable-request": {
|
||||
"version": "6.0.3",
|
||||
"resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.3.tgz",
|
||||
|
|
@ -4338,15 +4269,6 @@
|
|||
"integrity": "sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==",
|
||||
"dev": true
|
||||
},
|
||||
"@types/mongodb": {
|
||||
"version": "3.6.20",
|
||||
"resolved": "https://registry.npmjs.org/@types/mongodb/-/mongodb-3.6.20.tgz",
|
||||
"integrity": "sha512-WcdpPJCakFzcWWD9juKoZbRtQxKIMYF/JIAM4JrNHrMcnJL6/a2NWjXxW7fo9hxboxxkg+icff8d7+WIEvKgYQ==",
|
||||
"requires": {
|
||||
"@types/bson": "*",
|
||||
"@types/node": "*"
|
||||
}
|
||||
},
|
||||
"@types/morgan": {
|
||||
"version": "1.9.4",
|
||||
"resolved": "https://registry.npmjs.org/@types/morgan/-/morgan-1.9.4.tgz",
|
||||
|
|
@ -4391,6 +4313,20 @@
|
|||
"@types/node": "*"
|
||||
}
|
||||
},
|
||||
"@types/webidl-conversions": {
|
||||
"version": "7.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-7.0.0.tgz",
|
||||
"integrity": "sha512-xTE1E+YF4aWPJJeUzaZI5DRntlkY3+BCVJi0axFptnjGmAoWxkyREIh/XMrfxVLejwQxMCfDXdICo0VLxThrog=="
|
||||
},
|
||||
"@types/whatwg-url": {
|
||||
"version": "8.2.2",
|
||||
"resolved": "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-8.2.2.tgz",
|
||||
"integrity": "sha512-FtQu10RWgn3D9U4aazdwIE2yzphmTJREDqNdODHrbrZmmMqI0vMheC/6NE/J1Yveaj8H+ela+YwWTjq5PGmuhA==",
|
||||
"requires": {
|
||||
"@types/node": "*",
|
||||
"@types/webidl-conversions": "*"
|
||||
}
|
||||
},
|
||||
"abbrev": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
|
||||
|
|
@ -4626,49 +4562,6 @@
|
|||
"resolved": "https://registry.npmjs.org/bit-buffer/-/bit-buffer-0.2.5.tgz",
|
||||
"integrity": "sha512-x1yGnmXvFg6e3DiyRztElbcn1bsCTFSoM/ncAzY62uE0JdTl5xlKJd0ooqLYoPbhdsnpehSIQrdIvclcZJYwiA=="
|
||||
},
|
||||
"bl": {
|
||||
"version": "2.2.1",
|
||||
"resolved": "https://registry.npmjs.org/bl/-/bl-2.2.1.tgz",
|
||||
"integrity": "sha512-6Pesp1w0DEX1N550i/uGV/TqucVL4AM/pgThFSN/Qq9si1/DF9aIHs1BxD8V/QU0HoeHO6cQRTAuYnLPKq1e4g==",
|
||||
"requires": {
|
||||
"readable-stream": "^2.3.5",
|
||||
"safe-buffer": "^5.1.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"readable-stream": {
|
||||
"version": "2.3.8",
|
||||
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
|
||||
"integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
|
||||
"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"
|
||||
}
|
||||
},
|
||||
"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=="
|
||||
},
|
||||
"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==",
|
||||
"requires": {
|
||||
"safe-buffer": "~5.1.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"bluebird": {
|
||||
"version": "3.5.1",
|
||||
"resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz",
|
||||
"integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA=="
|
||||
},
|
||||
"bmp-js": {
|
||||
"version": "0.1.0",
|
||||
"resolved": "https://registry.npmjs.org/bmp-js/-/bmp-js-0.1.0.tgz",
|
||||
|
|
@ -4714,9 +4607,9 @@
|
|||
}
|
||||
},
|
||||
"bson": {
|
||||
"version": "1.1.6",
|
||||
"resolved": "https://registry.npmjs.org/bson/-/bson-1.1.6.tgz",
|
||||
"integrity": "sha512-EvVNVeGo4tHxwi8L6bPj3y3itEvStdwvvlojVxxbyYfoaxJ6keLgrTuKdyfEAszFK+H3olzBuafE0yoh0D1gdg=="
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/bson/-/bson-5.0.1.tgz",
|
||||
"integrity": "sha512-y09gBGusgHtinMon/GVbv1J6FrXhnr/+6hqLlSmEFzkz6PodqF6TxjyvfvY3AfO+oG1mgUtbC86xSbOlwvM62Q=="
|
||||
},
|
||||
"buffer": {
|
||||
"version": "4.9.2",
|
||||
|
|
@ -4919,11 +4812,6 @@
|
|||
"vary": "^1"
|
||||
}
|
||||
},
|
||||
"countries-and-timezones": {
|
||||
"version": "3.4.1",
|
||||
"resolved": "https://registry.npmjs.org/countries-and-timezones/-/countries-and-timezones-3.4.1.tgz",
|
||||
"integrity": "sha512-INeHGCony4XUUR8iGL/lmt9s1Oi+n+gFHeJAMfbV5hJfYeDOB8JG1oxz5xFQu5oBZoRCJe/87k1Vzue9DoIauA=="
|
||||
},
|
||||
"cycle": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz",
|
||||
|
|
@ -4995,11 +4883,6 @@
|
|||
"resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
|
||||
"integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ=="
|
||||
},
|
||||
"denque": {
|
||||
"version": "1.5.1",
|
||||
"resolved": "https://registry.npmjs.org/denque/-/denque-1.5.1.tgz",
|
||||
"integrity": "sha512-XwE+iZ4D6ZUB7mfYRMb5wByE8L74HCn30FBN7sWnXksWc1LO1bPDl67pBR9o/kC4z/xSNAwkMYcGgqDV3BE3Hw=="
|
||||
},
|
||||
"depd": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
|
||||
|
|
@ -5703,6 +5586,11 @@
|
|||
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
|
||||
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
|
||||
},
|
||||
"ip": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz",
|
||||
"integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ=="
|
||||
},
|
||||
"ipaddr.js": {
|
||||
"version": "1.9.1",
|
||||
"resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
|
||||
|
|
@ -5871,15 +5759,10 @@
|
|||
"verror": "1.10.0"
|
||||
}
|
||||
},
|
||||
"kaitai-struct": {
|
||||
"version": "0.9.0",
|
||||
"resolved": "https://registry.npmjs.org/kaitai-struct/-/kaitai-struct-0.9.0.tgz",
|
||||
"integrity": "sha512-mfoBu9+IGqaY3ykG1TyAy9omOAZWtheqESQOvo/HKIQVTz+gRPVCNBnhjbO+8wAQ77RD33wYvLBWmITuXIviQg=="
|
||||
},
|
||||
"kareem": {
|
||||
"version": "2.3.2",
|
||||
"resolved": "https://registry.npmjs.org/kareem/-/kareem-2.3.2.tgz",
|
||||
"integrity": "sha512-STHz9P7X2L4Kwn72fA4rGyqyXdmrMSdxqHx9IXon/FXluXieaFA6KJ2upcHAHxQPQ0LeM/OjLrhFxifHewOALQ=="
|
||||
"version": "2.5.1",
|
||||
"resolved": "https://registry.npmjs.org/kareem/-/kareem-2.5.1.tgz",
|
||||
"integrity": "sha512-7jFxRVm+jD+rkq3kY0iZDJfsO2/t4BBPeEb2qKn2lR/9KhuksYk5hxzfRYWMPV8P/x2d0kHD306YyWLzjjH+uA=="
|
||||
},
|
||||
"keyv": {
|
||||
"version": "4.5.2",
|
||||
|
|
@ -6069,62 +5952,70 @@
|
|||
"integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w=="
|
||||
},
|
||||
"mongodb": {
|
||||
"version": "3.7.3",
|
||||
"resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.7.3.tgz",
|
||||
"integrity": "sha512-Psm+g3/wHXhjBEktkxXsFMZvd3nemI0r3IPsE0bU+4//PnvNWKkzhZcEsbPcYiWqe8XqXJJEg4Tgtr7Raw67Yw==",
|
||||
"version": "5.1.0",
|
||||
"resolved": "https://registry.npmjs.org/mongodb/-/mongodb-5.1.0.tgz",
|
||||
"integrity": "sha512-qgKb7y+EI90y4weY3z5+lIgm8wmexbonz0GalHkSElQXVKtRuwqXuhXKccyvIjXCJVy9qPV82zsinY0W1FBnJw==",
|
||||
"requires": {
|
||||
"bl": "^2.2.1",
|
||||
"bson": "^1.1.4",
|
||||
"denque": "^1.4.1",
|
||||
"optional-require": "^1.1.8",
|
||||
"safe-buffer": "^5.1.2",
|
||||
"saslprep": "^1.0.0"
|
||||
"bson": "^5.0.1",
|
||||
"mongodb-connection-string-url": "^2.6.0",
|
||||
"saslprep": "^1.0.3",
|
||||
"socks": "^2.7.1"
|
||||
}
|
||||
},
|
||||
"mongodb-connection-string-url": {
|
||||
"version": "2.6.0",
|
||||
"resolved": "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-2.6.0.tgz",
|
||||
"integrity": "sha512-WvTZlI9ab0QYtTYnuMLgobULWhokRjtC7db9LtcVfJ+Hsnyr5eo6ZtNAt3Ly24XZScGMelOcGtm7lSn0332tPQ==",
|
||||
"requires": {
|
||||
"@types/whatwg-url": "^8.2.1",
|
||||
"whatwg-url": "^11.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"optional-require": {
|
||||
"version": "1.1.8",
|
||||
"resolved": "https://registry.npmjs.org/optional-require/-/optional-require-1.1.8.tgz",
|
||||
"integrity": "sha512-jq83qaUb0wNg9Krv1c5OQ+58EK+vHde6aBPzLvPPqJm89UQWsvSuFy9X/OSNJnFeSOKo7btE0n8Nl2+nE+z5nA==",
|
||||
"tr46": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz",
|
||||
"integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==",
|
||||
"requires": {
|
||||
"require-at": "^1.0.6"
|
||||
"punycode": "^2.1.1"
|
||||
}
|
||||
},
|
||||
"webidl-conversions": {
|
||||
"version": "7.0.0",
|
||||
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz",
|
||||
"integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g=="
|
||||
},
|
||||
"whatwg-url": {
|
||||
"version": "11.0.0",
|
||||
"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz",
|
||||
"integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==",
|
||||
"requires": {
|
||||
"tr46": "^3.0.0",
|
||||
"webidl-conversions": "^7.0.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"mongoose": {
|
||||
"version": "5.13.16",
|
||||
"resolved": "https://registry.npmjs.org/mongoose/-/mongoose-5.13.16.tgz",
|
||||
"integrity": "sha512-kBNB+BfaQjn3Jjh1SfdZZub70pde9dI0sA8VN6AnnCOeK4TzbLDyB0lBmPBOajppm6U9orde5YfTRyyVa1U45w==",
|
||||
"version": "7.0.0",
|
||||
"resolved": "https://registry.npmjs.org/mongoose/-/mongoose-7.0.0.tgz",
|
||||
"integrity": "sha512-U0YPURDld+k/nvvSG1mRClQSjZMRXwQKSU5yb9PslRnOmVz0UlBD7SjSnjUuGT0yk+7BH+kJNimsKqMxYAKkMA==",
|
||||
"requires": {
|
||||
"@types/bson": "1.x || 4.0.x",
|
||||
"@types/mongodb": "^3.5.27",
|
||||
"bson": "^1.1.4",
|
||||
"kareem": "2.3.2",
|
||||
"mongodb": "3.7.3",
|
||||
"mongoose-legacy-pluralize": "1.0.2",
|
||||
"mpath": "0.8.4",
|
||||
"mquery": "3.2.5",
|
||||
"ms": "2.1.2",
|
||||
"optional-require": "1.0.x",
|
||||
"regexp-clone": "1.0.0",
|
||||
"safe-buffer": "5.2.1",
|
||||
"sift": "13.5.2",
|
||||
"sliced": "1.0.1"
|
||||
"bson": "^5.0.1",
|
||||
"kareem": "2.5.1",
|
||||
"mongodb": "5.1.0",
|
||||
"mpath": "0.9.0",
|
||||
"mquery": "5.0.0",
|
||||
"ms": "2.1.3",
|
||||
"sift": "16.0.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"ms": {
|
||||
"version": "2.1.2",
|
||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
|
||||
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
|
||||
"version": "2.1.3",
|
||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
|
||||
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
|
||||
}
|
||||
}
|
||||
},
|
||||
"mongoose-legacy-pluralize": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/mongoose-legacy-pluralize/-/mongoose-legacy-pluralize-1.0.2.tgz",
|
||||
"integrity": "sha512-Yo/7qQU4/EyIS8YDFSeenIvXxZN+ld7YdV9LqFVQJzTLye8unujAWPZ4NWKfFA+RNjh+wvTWKY9Z3E5XM6ZZiQ==",
|
||||
"requires": {}
|
||||
},
|
||||
"mongoose-unique-validator": {
|
||||
"version": "2.0.3",
|
||||
"resolved": "https://registry.npmjs.org/mongoose-unique-validator/-/mongoose-unique-validator-2.0.3.tgz",
|
||||
|
|
@ -6157,34 +6048,30 @@
|
|||
}
|
||||
},
|
||||
"mpath": {
|
||||
"version": "0.8.4",
|
||||
"resolved": "https://registry.npmjs.org/mpath/-/mpath-0.8.4.tgz",
|
||||
"integrity": "sha512-DTxNZomBcTWlrMW76jy1wvV37X/cNNxPW1y2Jzd4DZkAaC5ZGsm8bfGfNOthcDuRJujXLqiuS6o3Tpy0JEoh7g=="
|
||||
"version": "0.9.0",
|
||||
"resolved": "https://registry.npmjs.org/mpath/-/mpath-0.9.0.tgz",
|
||||
"integrity": "sha512-ikJRQTk8hw5DEoFVxHG1Gn9T/xcjtdnOKIU1JTmGjZZlg9LST2mBLmcX3/ICIbgJydT2GOc15RnNy5mHmzfSew=="
|
||||
},
|
||||
"mquery": {
|
||||
"version": "3.2.5",
|
||||
"resolved": "https://registry.npmjs.org/mquery/-/mquery-3.2.5.tgz",
|
||||
"integrity": "sha512-VjOKHHgU84wij7IUoZzFRU07IAxd5kWJaDmyUzQlbjHjyoeK5TNeeo8ZsFDtTYnSgpW6n/nMNIHvE3u8Lbrf4A==",
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/mquery/-/mquery-5.0.0.tgz",
|
||||
"integrity": "sha512-iQMncpmEK8R8ncT8HJGsGc9Dsp8xcgYMVSbs5jgnm1lFHTZqMJTUWTDx1LBO8+mK3tPNZWFLBghQEIOULSTHZg==",
|
||||
"requires": {
|
||||
"bluebird": "3.5.1",
|
||||
"debug": "3.1.0",
|
||||
"regexp-clone": "^1.0.0",
|
||||
"safe-buffer": "5.1.2",
|
||||
"sliced": "1.0.1"
|
||||
"debug": "4.x"
|
||||
},
|
||||
"dependencies": {
|
||||
"debug": {
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
|
||||
"integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
|
||||
"version": "4.3.4",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
|
||||
"integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
|
||||
"requires": {
|
||||
"ms": "2.0.0"
|
||||
"ms": "2.1.2"
|
||||
}
|
||||
},
|
||||
"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=="
|
||||
"ms": {
|
||||
"version": "2.1.2",
|
||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
|
||||
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
@ -6199,14 +6086,6 @@
|
|||
"integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==",
|
||||
"dev": true
|
||||
},
|
||||
"neat-config": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/neat-config/-/neat-config-1.0.0.tgz",
|
||||
"integrity": "sha512-EKvHxsZ9yOUHWhx6MxxzbTDhNK0wiSbfaU42s2OnQuVgR+FwpswaiSm3xX7ST4TcN+rJiEw+GuhfK015vHKwrA==",
|
||||
"requires": {
|
||||
"joi": "^17.6.0"
|
||||
}
|
||||
},
|
||||
"negotiator": {
|
||||
"version": "0.6.3",
|
||||
"resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
|
||||
|
|
@ -6309,11 +6188,6 @@
|
|||
"wrappy": "1"
|
||||
}
|
||||
},
|
||||
"optional-require": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/optional-require/-/optional-require-1.0.3.tgz",
|
||||
"integrity": "sha512-RV2Zp2MY2aeYK5G+B/Sps8lW5NHAzE5QClbFP15j+PWmP+T9PxlJXBOOLoSAdgwFvS4t0aMR4vpedMkbHfh0nA=="
|
||||
},
|
||||
"optionator": {
|
||||
"version": "0.8.3",
|
||||
"resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz",
|
||||
|
|
@ -6515,11 +6389,6 @@
|
|||
"@redis/time-series": "1.0.4"
|
||||
}
|
||||
},
|
||||
"regexp-clone": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/regexp-clone/-/regexp-clone-1.0.0.tgz",
|
||||
"integrity": "sha512-TuAasHQNamyyJ2hb97IuBEif4qBHGjPHBS64sZwytpLEqtBQ1gPJTnOaQ6qmpET16cK14kkjbazl6+p0RRv0yw=="
|
||||
},
|
||||
"request": {
|
||||
"version": "2.88.2",
|
||||
"resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz",
|
||||
|
|
@ -6559,11 +6428,6 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"require-at": {
|
||||
"version": "1.0.6",
|
||||
"resolved": "https://registry.npmjs.org/require-at/-/require-at-1.0.6.tgz",
|
||||
"integrity": "sha512-7i1auJbMUrXEAZCOQ0VNJgmcT2VOKPRl2YGJwgpHpC9CE91Mv4/4UYIUm4chGJaI381ZDq1JUicFii64Hapd8g=="
|
||||
},
|
||||
"resolve": {
|
||||
"version": "1.22.1",
|
||||
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz",
|
||||
|
|
@ -6716,19 +6580,28 @@
|
|||
}
|
||||
},
|
||||
"sift": {
|
||||
"version": "13.5.2",
|
||||
"resolved": "https://registry.npmjs.org/sift/-/sift-13.5.2.tgz",
|
||||
"integrity": "sha512-+gxdEOMA2J+AI+fVsCqeNn7Tgx3M9ZN9jdi95939l1IJ8cZsqS8sqpJyOkic2SJk+1+98Uwryt/gL6XDaV+UZA=="
|
||||
"version": "16.0.1",
|
||||
"resolved": "https://registry.npmjs.org/sift/-/sift-16.0.1.tgz",
|
||||
"integrity": "sha512-Wv6BjQ5zbhW7VFefWusVP33T/EM0vYikCaQ2qR8yULbsilAT8/wQaXvuQ3ptGLpoKx+lihJE3y2UTgKDyyNHZQ=="
|
||||
},
|
||||
"signal-exit": {
|
||||
"version": "3.0.7",
|
||||
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
|
||||
"integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="
|
||||
},
|
||||
"sliced": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/sliced/-/sliced-1.0.1.tgz",
|
||||
"integrity": "sha512-VZBmZP8WU3sMOZm1bdgTadsQbcscK0UM8oKxKVBs4XAhUo2Xxzm/OFMGBkPusxw9xL3Uy8LrzEqGqJhclsr0yA=="
|
||||
"smart-buffer": {
|
||||
"version": "4.2.0",
|
||||
"resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz",
|
||||
"integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg=="
|
||||
},
|
||||
"socks": {
|
||||
"version": "2.7.1",
|
||||
"resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz",
|
||||
"integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==",
|
||||
"requires": {
|
||||
"ip": "^2.0.0",
|
||||
"smart-buffer": "^4.2.0"
|
||||
}
|
||||
},
|
||||
"source-map": {
|
||||
"version": "0.6.1",
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@
|
|||
"lodash.set": "^4.3.2",
|
||||
"mii-js": "github:PretendoNetwork/mii-js",
|
||||
"moment": "^2.29.4",
|
||||
"mongoose": "^5.8.3",
|
||||
"mongoose": "^7.0.0",
|
||||
"mongoose-unique-validator": "^2.0.3",
|
||||
"morgan": "^1.9.1",
|
||||
"nodemailer": "^6.4.2",
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ export async function getUserByUsername(username) {
|
|||
|
||||
const user = await PNID.findOne({
|
||||
usernameLower: username.toLowerCase()
|
||||
});
|
||||
}) as mongoose.HydratedDocument<IPNID, IPNIDMethods>;
|
||||
|
||||
return user;
|
||||
}
|
||||
|
|
@ -48,7 +48,7 @@ export async function getUserByPID(pid) {
|
|||
|
||||
const user = await PNID.findOne({
|
||||
pid
|
||||
});
|
||||
}) as mongoose.HydratedDocument<IPNID, IPNIDMethods>;
|
||||
|
||||
return user;
|
||||
}
|
||||
|
|
@ -58,7 +58,7 @@ export async function getUserByEmailAddress(email) {
|
|||
|
||||
const user = await PNID.findOne({
|
||||
'email.address': new RegExp(email, 'i') // * Ignore case
|
||||
});
|
||||
}) as mongoose.HydratedDocument<IPNID, IPNIDMethods>;
|
||||
|
||||
return user;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,14 +1,14 @@
|
|||
import { Schema, model } from 'mongoose';
|
||||
|
||||
export const DeviceAttributeSchema = new Schema<IDeviceAttribute>({
|
||||
export const DeviceAttributeSchema = new Schema<IDeviceAttribute, DeviceAttributeModel, IDeviceAttributeMethods>({
|
||||
created_date: String,
|
||||
name: String,
|
||||
value: String
|
||||
});
|
||||
|
||||
export const DeviceAttribute: IDeviceAttributeModel = model<IDeviceAttribute, IDeviceAttributeModel>('DeviceAttribute', DeviceAttributeSchema);
|
||||
export const DeviceAttribute: DeviceAttributeModel = model<IDeviceAttribute, DeviceAttributeModel>('DeviceAttribute', DeviceAttributeSchema);
|
||||
|
||||
export const DeviceSchema = new Schema<IDevice>({
|
||||
export const DeviceSchema = new Schema<IDevice, DeviceModel, IDeviceMethods>({
|
||||
is_emulator: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
|
|
@ -48,7 +48,7 @@ export const DeviceSchema = new Schema<IDevice>({
|
|||
}
|
||||
});
|
||||
|
||||
export const Device: IDeviceModel = model<IDevice, IDeviceModel>('Device', DeviceSchema);
|
||||
export const Device: DeviceModel = model<IDevice, DeviceModel>('Device', DeviceSchema);
|
||||
|
||||
export default {
|
||||
DeviceSchema,
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import { Schema, model } from 'mongoose';
|
||||
import uniqueValidator from 'mongoose-unique-validator';
|
||||
|
||||
export const NEXAccountSchema = new Schema<INEXAccount>({
|
||||
export const NEXAccountSchema = new Schema<INEXAccount, NEXAccountModel, INEXAccountMethods>({
|
||||
device_type: {
|
||||
type: String,
|
||||
enum: [
|
||||
|
|
@ -36,7 +36,7 @@ NEXAccountSchema.plugin(uniqueValidator, { message: '{PATH} already in use.' });
|
|||
https://account.nintendo.net/v1/api/admin/mapped_ids?input_type=pid&output_type=user_id&input=1799999999 returns `prodtest1`
|
||||
and the next few accounts counting down seem to be admin, service and internal test accounts
|
||||
*/
|
||||
NEXAccountSchema.methods.generatePID = async function () {
|
||||
NEXAccountSchema.method('generatePID', async function generatePID(): Promise<void> {
|
||||
const min = 1000000000; // The console (WiiU) seems to not accept PIDs smaller than this
|
||||
const max = 1799999999;
|
||||
|
||||
|
|
@ -45,13 +45,13 @@ NEXAccountSchema.methods.generatePID = async function () {
|
|||
const inuse = await NEXAccount.findOne({ pid });
|
||||
|
||||
if (inuse) {
|
||||
await NEXAccount.generatePID();
|
||||
await this.generatePID();
|
||||
} else {
|
||||
this.set('pid', pid);
|
||||
}
|
||||
};
|
||||
});
|
||||
|
||||
NEXAccountSchema.methods.generatePassword = function () {
|
||||
NEXAccountSchema.method('generatePassword', function generatePassword(): void {
|
||||
function character() {
|
||||
const offset = Math.floor(Math.random() * 62);
|
||||
if (offset < 10) return offset;
|
||||
|
|
@ -66,9 +66,9 @@ NEXAccountSchema.methods.generatePassword = function () {
|
|||
}
|
||||
|
||||
this.set('password', output.join(''));
|
||||
};
|
||||
});
|
||||
|
||||
export const NEXAccount: INEXAccountModel = model<INEXAccount, INEXAccountModel>('NEXAccount', NEXAccountSchema);
|
||||
export const NEXAccount: NEXAccountModel = model<INEXAccount, NEXAccountModel>('NEXAccount', NEXAccountSchema);
|
||||
|
||||
export default {
|
||||
NEXAccountSchema,
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ import Mii from 'mii-js';
|
|||
import { DeviceSchema } from './device';
|
||||
import util from '../util';
|
||||
|
||||
export const PNIDSchema = new Schema<IPNID>({
|
||||
export const PNIDSchema = new Schema<IPNID, PNIDModel, IPNIDMethods>({
|
||||
access_level: {
|
||||
type: Number,
|
||||
default: 0 // 0: standard, 1: tester, 2: mod?, 3: dev
|
||||
|
|
@ -114,7 +114,7 @@ PNIDSchema.plugin(uniqueValidator, {message: '{PATH} already in use.'});
|
|||
https://account.nintendo.net/v1/api/admin/mapped_ids?input_type=pid&output_type=user_id&input=1799999999 returns `prodtest1`
|
||||
and the next few accounts counting down seem to be admin, service and internal test accounts
|
||||
*/
|
||||
PNIDSchema.methods.generatePID = async function() {
|
||||
PNIDSchema.method('generatePID', async function generatePID(): Promise<void> {
|
||||
const min = 1000000000; // The console (WiiU) seems to not accept PIDs smaller than this
|
||||
const max = 1799999999;
|
||||
|
||||
|
|
@ -125,21 +125,21 @@ PNIDSchema.methods.generatePID = async function() {
|
|||
});
|
||||
|
||||
if (inuse) {
|
||||
await PNID.generatePID();
|
||||
await this.generatePID();
|
||||
} else {
|
||||
this.set('pid', pid);
|
||||
}
|
||||
};
|
||||
});
|
||||
|
||||
PNIDSchema.methods.generateEmailValidationCode = async function() {
|
||||
PNIDSchema.method('generateEmailValidationCode', async function generateEmailValidationCode(): Promise<void> {
|
||||
// WiiU passes the PID along with the email code
|
||||
// Does not actually need to be unique to all users
|
||||
const code = Math.random().toFixed(6).split('.')[1]; // Dirty one-liner to generate numbers of 6 length and padded 0
|
||||
|
||||
this.set('identification.email_code', code);
|
||||
};
|
||||
});
|
||||
|
||||
PNIDSchema.methods.generateEmailValidationToken = async function() {
|
||||
PNIDSchema.method('generateEmailValidationToken', async function generateEmailValidationToken(): Promise<void> {
|
||||
let token = crypto.randomBytes(32).toString('hex');
|
||||
|
||||
const inuse = await PNID.findOne({
|
||||
|
|
@ -147,13 +147,13 @@ PNIDSchema.methods.generateEmailValidationToken = async function() {
|
|||
});
|
||||
|
||||
if (inuse) {
|
||||
await PNID.generateEmailValidationToken();
|
||||
await this.generateEmailValidationToken();
|
||||
} else {
|
||||
this.set('identification.email_token', token);
|
||||
}
|
||||
};
|
||||
});
|
||||
|
||||
PNIDSchema.methods.updateMii = async function({name, primary, data}) {
|
||||
PNIDSchema.method('updateMii', async function updateMii({name, primary, data}): Promise<void> {
|
||||
this.set('mii.name', name);
|
||||
this.set('mii.primary', primary === 'Y');
|
||||
this.set('mii.data', data);
|
||||
|
|
@ -164,9 +164,9 @@ PNIDSchema.methods.updateMii = async function({name, primary, data}) {
|
|||
await this.generateMiiImages();
|
||||
|
||||
await this.save();
|
||||
};
|
||||
});
|
||||
|
||||
PNIDSchema.methods.generateMiiImages = async function() {
|
||||
PNIDSchema.method('generateMiiImages', async function generateMiiImages(): Promise<void> {
|
||||
const miiData = this.get('mii.data');
|
||||
const mii = new Mii(Buffer.from(miiData, 'base64'));
|
||||
const miiStudioUrl = mii.studioUrl({
|
||||
|
|
@ -202,15 +202,15 @@ PNIDSchema.methods.generateMiiImages = async function() {
|
|||
});
|
||||
const miiStudioBodyImageData = await got(miiStudioBodyUrl).buffer();
|
||||
await util.uploadCDNAsset('pn-cdn', `${userMiiKey}/body.png`, miiStudioBodyImageData, 'public-read');
|
||||
};
|
||||
});
|
||||
|
||||
PNIDSchema.methods.getServerMode = function () {
|
||||
PNIDSchema.method('getServerMode', function getServerMode(): string {
|
||||
const serverMode = this.get('server_mode') || 'prod';
|
||||
|
||||
return serverMode;
|
||||
};
|
||||
});
|
||||
|
||||
export const PNID: IPNIDModel = model<IPNID, IPNIDModel>('PNID', PNIDSchema);
|
||||
export const PNID: PNIDModel = model<IPNID, PNIDModel>('PNID', PNIDSchema);
|
||||
|
||||
export default {
|
||||
PNIDSchema,
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import { Schema, model } from 'mongoose';
|
||||
import uniqueValidator from 'mongoose-unique-validator';
|
||||
|
||||
export const ServerSchema = new Schema<IServer>({
|
||||
export const ServerSchema = new Schema<IServer, ServerModel, IServerMethods>({
|
||||
ip: String, // Example: 1.1.1.1
|
||||
port: Number, // Example: 60000
|
||||
service_name: String, // Example: friends
|
||||
|
|
@ -15,7 +15,7 @@ export const ServerSchema = new Schema<IServer>({
|
|||
|
||||
ServerSchema.plugin(uniqueValidator, { message: '{PATH} already in use.' });
|
||||
|
||||
export const Server: IServerModel = model<IServer, IServerModel>('Server', ServerSchema);
|
||||
export const Server: ServerModel = model<IServer, ServerModel>('Server', ServerSchema);
|
||||
|
||||
export default {
|
||||
ServerSchema,
|
||||
|
|
|
|||
|
|
@ -31,32 +31,32 @@ router.get('/', async (request, response) => {
|
|||
}
|
||||
|
||||
return response.json({
|
||||
access_level: pnid.get('access_level'),
|
||||
server_access_level: pnid.get('server_access_level'),
|
||||
pid: pnid.get('pid'),
|
||||
creation_date: pnid.get('creation_date'),
|
||||
updated: pnid.get('updated'),
|
||||
username: pnid.get('username'),
|
||||
birthdate: pnid.get('birthdate'),
|
||||
gender: pnid.get('gender'),
|
||||
country: pnid.get('country'),
|
||||
access_level: pnid.access_level,
|
||||
server_access_level: pnid.server_access_level,
|
||||
pid: pnid.pid,
|
||||
creation_date: pnid.creation_date,
|
||||
updated: pnid.updated,
|
||||
username: pnid.username,
|
||||
birthdate: pnid.birthdate,
|
||||
gender: pnid.gender,
|
||||
country: pnid.country,
|
||||
email: {
|
||||
address: pnid.get('email.address'),
|
||||
address: pnid.email.address,
|
||||
},
|
||||
timezone: {
|
||||
name: pnid.get('timezone.name')
|
||||
name: pnid.timezone.name
|
||||
},
|
||||
mii: {
|
||||
data: pnid.get('mii.data'),
|
||||
name: pnid.get('mii.name'),
|
||||
image_url: `${config.cdn.base_url}/mii/${pnid.get('pid')}/normal_face.png`
|
||||
data: pnid.mii.data,
|
||||
name: pnid.mii.name,
|
||||
image_url: `${config.cdn.base_url}/mii/${pnid.pid}/normal_face.png`
|
||||
},
|
||||
flags: {
|
||||
marketing: pnid.get('flags.marketing')
|
||||
marketing: pnid.flags.marketing
|
||||
},
|
||||
connections: {
|
||||
discord: {
|
||||
id: pnid.get('connections.discord.id')
|
||||
id: pnid.connections.discord.id
|
||||
}
|
||||
}
|
||||
});
|
||||
|
|
@ -95,32 +95,32 @@ router.post('/', async (request, response) => {
|
|||
await PNID.updateOne({ pid }, { $set: updateData }).exec();
|
||||
|
||||
return response.json({
|
||||
access_level: pnid.get('access_level'),
|
||||
server_access_level: pnid.get('server_access_level'),
|
||||
pid: pnid.get('pid'),
|
||||
creation_date: pnid.get('creation_date'),
|
||||
updated: pnid.get('updated'),
|
||||
username: pnid.get('username'),
|
||||
birthdate: pnid.get('birthdate'),
|
||||
gender: pnid.get('gender'),
|
||||
country: pnid.get('country'),
|
||||
access_level: pnid.access_level,
|
||||
server_access_level: pnid.server_access_level,
|
||||
pid: pnid.pid,
|
||||
creation_date: pnid.creation_date,
|
||||
updated: pnid.updated,
|
||||
username: pnid.username,
|
||||
birthdate: pnid.birthdate,
|
||||
gender: pnid.gender,
|
||||
country: pnid.country,
|
||||
email: {
|
||||
address: pnid.get('email.address'),
|
||||
address: pnid.email.address,
|
||||
},
|
||||
timezone: {
|
||||
name: pnid.get('timezone.name')
|
||||
name: pnid.timezone.name
|
||||
},
|
||||
mii: {
|
||||
data: pnid.get('mii.data'),
|
||||
name: pnid.get('mii.name'),
|
||||
image_url: `${config.cdn.base_url}/mii/${pnid.get('pid')}/normal_face.png`
|
||||
data: pnid.mii.data,
|
||||
name: pnid.mii.name,
|
||||
image_url: `${config.cdn.base_url}/mii/${pnid.pid}/normal_face.png`
|
||||
},
|
||||
flags: {
|
||||
marketing: pnid.get('flags.marketing')
|
||||
marketing: pnid.flags.marketing
|
||||
},
|
||||
connections: {
|
||||
discord: {
|
||||
id: pnid.get('connections.discord.id')
|
||||
id: pnid.connections.discord.id
|
||||
}
|
||||
}
|
||||
});
|
||||
|
|
|
|||
|
|
@ -227,7 +227,7 @@ router.post('/@me/devices', async (request, response) => {
|
|||
|
||||
const { pnid } = request;
|
||||
|
||||
const person = await database.getUserProfileJSONByPID(pnid.get('pid'));
|
||||
const person = await database.getUserProfileJSONByPID(pnid.pid);
|
||||
|
||||
response.send(xmlbuilder.create({
|
||||
person
|
||||
|
|
|
|||
3
types/express.d.ts
vendored
3
types/express.d.ts
vendored
|
|
@ -1,9 +1,10 @@
|
|||
import { HydratedDocument } from 'mongoose';
|
||||
import NintendoCertificate from '../src/nintendo-certificate'
|
||||
|
||||
declare global {
|
||||
namespace Express {
|
||||
interface Request {
|
||||
pnid?: IPNID;
|
||||
pnid?: HydratedDocument<IPNID, IPNIDMethods>;
|
||||
isCemu?: boolean;
|
||||
files?: Record<string, any>;
|
||||
certificate?: NintendoCertificate;
|
||||
|
|
|
|||
8
types/mongoose/device-attribute.d.ts
vendored
8
types/mongoose/device-attribute.d.ts
vendored
|
|
@ -1,13 +1,13 @@
|
|||
import { Document, Model } from 'mongoose';
|
||||
import { Model } from 'mongoose';
|
||||
|
||||
declare global {
|
||||
interface IDeviceAttributeDocument extends Document {
|
||||
interface IDeviceAttribute {
|
||||
created_date: string;
|
||||
name: string;
|
||||
value: string;
|
||||
}
|
||||
|
||||
interface IDeviceAttribute extends IDeviceAttributeDocument {}
|
||||
interface IDeviceAttributeMethods {}
|
||||
|
||||
interface IDeviceAttributeModel extends Model<IDeviceAttribute> {}
|
||||
interface DeviceAttributeModel extends Model<IDeviceAttribute, {}, IDeviceAttributeMethods> {}
|
||||
}
|
||||
8
types/mongoose/device.d.ts
vendored
8
types/mongoose/device.d.ts
vendored
|
|
@ -1,4 +1,4 @@
|
|||
import { Document, Model } from 'mongoose';
|
||||
import { Model } from 'mongoose';
|
||||
import { DeviceAttributeSchema } from '../../src/models/device';
|
||||
|
||||
type MODEL = 'wup' | 'ctr' | 'spr' | 'ftr' | 'ktr' | 'red' | 'jan';
|
||||
|
|
@ -6,7 +6,7 @@ type ACCESS_LEVEL = 0 | 1 | 2 | 3;
|
|||
type SERVER_ACCESS_LEVEL = 'prod' | 'test' | 'dev';
|
||||
|
||||
declare global {
|
||||
interface IDeviceDocument extends Document {
|
||||
interface IDevice {
|
||||
is_emulator: boolean;
|
||||
model: MODEL;
|
||||
device_id: number;
|
||||
|
|
@ -26,7 +26,7 @@ declare global {
|
|||
server_access_level: SERVER_ACCESS_LEVEL;
|
||||
}
|
||||
|
||||
interface IDevice extends IDeviceDocument {}
|
||||
interface IDeviceMethods {}
|
||||
|
||||
interface IDeviceModel extends Model<IDevice> {}
|
||||
interface DeviceModel extends Model<IDevice, {}, IDeviceMethods> {}
|
||||
}
|
||||
13
types/mongoose/nex-account.d.ts
vendored
13
types/mongoose/nex-account.d.ts
vendored
|
|
@ -1,10 +1,10 @@
|
|||
import { Document, Model } from 'mongoose';
|
||||
import { Model } from 'mongoose';
|
||||
|
||||
type DEVICE = 'wiiu' | '3ds';
|
||||
type ACCESS_LEVEL = 0 | 1 | 2 | 3;
|
||||
|
||||
declare global {
|
||||
interface INEXAccountDocument extends Document {
|
||||
interface INEXAccount {
|
||||
device_type: DEVICE;
|
||||
pid: number;
|
||||
password: string;
|
||||
|
|
@ -13,11 +13,10 @@ declare global {
|
|||
server_access_level: string;
|
||||
}
|
||||
|
||||
interface INEXAccount extends INEXAccountDocument {
|
||||
generatePID(): void;
|
||||
interface INEXAccountMethods {
|
||||
generatePID(): Promise<void>;
|
||||
generatePassword(): void;
|
||||
}
|
||||
|
||||
interface INEXAccountModel extends Model<INEXAccount> {
|
||||
generatePID(): void;
|
||||
}
|
||||
interface NEXAccountModel extends Model<INEXAccount, {}, INEXAccountMethods> {}
|
||||
}
|
||||
21
types/mongoose/pnid.d.ts
vendored
21
types/mongoose/pnid.d.ts
vendored
|
|
@ -1,8 +1,8 @@
|
|||
import { Document, Model } from 'mongoose';
|
||||
import { Model } from 'mongoose';
|
||||
import { DeviceSchema } from '../../src/models/device';
|
||||
|
||||
declare global {
|
||||
interface IPNIDDocument extends Document {
|
||||
interface IPNID {
|
||||
access_level: number;
|
||||
server_access_level: string;
|
||||
pid: number;
|
||||
|
|
@ -65,17 +65,14 @@ declare global {
|
|||
};
|
||||
}
|
||||
|
||||
interface IPNID extends IPNIDDocument {
|
||||
generatePID(): void;
|
||||
generateEmailValidationCode(): void;
|
||||
generateEmailValidationToken(): void;
|
||||
updateMii(mii: { name: string, primary: boolean, data: Buffer}): void;
|
||||
generateMiiImages(): void;
|
||||
interface IPNIDMethods {
|
||||
generatePID(): Promise<void>;
|
||||
generateEmailValidationCode(): Promise<void>;
|
||||
generateEmailValidationToken(): Promise<void>;
|
||||
updateMii(mii: { name: string, primary: string, data: string}): Promise<void>;
|
||||
generateMiiImages(): Promise<void>;
|
||||
getServerMode(): string;
|
||||
}
|
||||
|
||||
interface IPNIDModel extends Model<IPNID> {
|
||||
generatePID(): void;
|
||||
generateEmailValidationToken(): void;
|
||||
}
|
||||
interface PNIDModel extends Model<IPNID, {}, IPNIDMethods> {}
|
||||
}
|
||||
6
types/mongoose/server.d.ts
vendored
6
types/mongoose/server.d.ts
vendored
|
|
@ -1,7 +1,7 @@
|
|||
import { Document, Model } from 'mongoose';
|
||||
|
||||
declare global {
|
||||
interface IServerDocument extends Document {
|
||||
interface IServer {
|
||||
ip: string; // Example: 1.1.1.1
|
||||
port: Number; // Example: 60000
|
||||
service_name: string; // Example: friends
|
||||
|
|
@ -13,7 +13,7 @@ declare global {
|
|||
device: number; // Example: 1 (WiiU)
|
||||
}
|
||||
|
||||
interface IServer extends IServerDocument {}
|
||||
interface IServerMethods {}
|
||||
|
||||
interface IServerModel extends Model<IServer> {}
|
||||
interface ServerModel extends Model<IServer, {}, IServerMethods> {}
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user