Login Complete

master
Cristiano Pires 2 years ago
parent 970c585144
commit dd4b82b780

362
package-lock.json generated

@ -15,6 +15,7 @@
"bootstrap": "^5.3.2",
"crypto": "^1.0.1",
"eslint-config-react-app": "^7.0.1",
"mongoose": "^7.6.0",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-scripts": "^5.0.1",
@ -3211,6 +3212,15 @@
"resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz",
"integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A=="
},
"node_modules/@mongodb-js/saslprep": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.1.0.tgz",
"integrity": "sha512-Xfijy7HvfzzqiOAhAepF4SGN5e9leLkMvg/OPOF97XemjfVCYN/oWa75wnkc6mltMSTwY+XlbhWgUOJmkFspSw==",
"optional": true,
"dependencies": {
"sparse-bitfield": "^3.0.3"
}
},
"node_modules/@nicolo-ribaudo/eslint-scope-5-internals": {
"version": "5.1.1-v1",
"resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz",
@ -4574,6 +4584,20 @@
"resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.4.tgz",
"integrity": "sha512-IDaobHimLQhjwsQ/NMwRVfa/yL7L/wriQPMhw1ZJall0KX6E1oxk29XMDeilW5qTIg5aoiqf5Udy8U/51aNoQQ=="
},
"node_modules/@types/webidl-conversions": {
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-7.0.1.tgz",
"integrity": "sha512-8hKOnOan+Uu+NgMaCouhg3cT9x5fFZ92Jwf+uDLXLu/MFRbXxlWwGeQY7KVHkeSft6RvY+tdxklUBuyY9eIEKg=="
},
"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/@types/ws": {
"version": "8.5.6",
"resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.6.tgz",
@ -5938,6 +5962,14 @@
"node-int64": "^0.4.0"
}
},
"node_modules/bson": {
"version": "5.5.0",
"resolved": "https://registry.npmjs.org/bson/-/bson-5.5.0.tgz",
"integrity": "sha512-B+QB4YmDx9RStKv8LLSl/aVIEV3nYJc3cJNNTK2Cd1TL+7P+cNpw9mAPeCgc5K+j01Dv6sxUzcITXDx7ZU3F0w==",
"engines": {
"node": ">=14.20.1"
}
},
"node_modules/buffer-crc32": {
"version": "0.2.13",
"resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
@ -9728,6 +9760,11 @@
"node": ">= 0.4"
}
},
"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": "2.1.0",
"resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.1.0.tgz",
@ -12427,6 +12464,14 @@
"node": ">=4.0"
}
},
"node_modules/kareem": {
"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.3",
"resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.3.tgz",
@ -12711,6 +12756,12 @@
"node": ">= 4.0.0"
}
},
"node_modules/memory-pager": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz",
"integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==",
"optional": true
},
"node_modules/merge-descriptors": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
@ -12906,6 +12957,131 @@
"mkdirp": "bin/cmd.js"
}
},
"node_modules/mongodb": {
"version": "5.9.0",
"resolved": "https://registry.npmjs.org/mongodb/-/mongodb-5.9.0.tgz",
"integrity": "sha512-g+GCMHN1CoRUA+wb1Agv0TI4YTSiWr42B5ulkiAfLLHitGK1R+PkSAf3Lr5rPZwi/3F04LiaZEW0Kxro9Fi2TA==",
"dependencies": {
"bson": "^5.5.0",
"mongodb-connection-string-url": "^2.6.0",
"socks": "^2.7.1"
},
"engines": {
"node": ">=14.20.1"
},
"optionalDependencies": {
"@mongodb-js/saslprep": "^1.1.0"
},
"peerDependencies": {
"@aws-sdk/credential-providers": "^3.188.0",
"@mongodb-js/zstd": "^1.0.0",
"kerberos": "^1.0.0 || ^2.0.0",
"mongodb-client-encryption": ">=2.3.0 <3",
"snappy": "^7.2.2"
},
"peerDependenciesMeta": {
"@aws-sdk/credential-providers": {
"optional": true
},
"@mongodb-js/zstd": {
"optional": true
},
"kerberos": {
"optional": true
},
"mongodb-client-encryption": {
"optional": true
},
"snappy": {
"optional": true
}
}
},
"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": {
"@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": ">=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": "7.6.0",
"resolved": "https://registry.npmjs.org/mongoose/-/mongoose-7.6.0.tgz",
"integrity": "sha512-ztQ12rm0BQN5i7LB6xhWX4l9a9w2aa3jEwa/mM2vAutYJRyAwOzcusvKJBULMzFHyUDBOVW15grisexypgMIWA==",
"dependencies": {
"bson": "^5.4.0",
"kareem": "2.5.1",
"mongodb": "5.9.0",
"mpath": "0.9.0",
"mquery": "5.0.0",
"ms": "2.1.3",
"sift": "16.0.1"
},
"engines": {
"node": ">=14.20.1"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/mongoose"
}
},
"node_modules/mongoose/node_modules/ms": {
"version": "2.1.3",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
},
"node_modules/mpath": {
"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": "5.0.0",
"resolved": "https://registry.npmjs.org/mquery/-/mquery-5.0.0.tgz",
"integrity": "sha512-iQMncpmEK8R8ncT8HJGsGc9Dsp8xcgYMVSbs5jgnm1lFHTZqMJTUWTDx1LBO8+mK3tPNZWFLBghQEIOULSTHZg==",
"dependencies": {
"debug": "4.x"
},
"engines": {
"node": ">=14.0.0"
}
},
"node_modules/ms": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
@ -16178,6 +16354,11 @@
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/sift": {
"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",
@ -16196,6 +16377,15 @@
"node": ">=8"
}
},
"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/sockjs": {
"version": "0.3.24",
"resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz",
@ -16206,6 +16396,19 @@
"websocket-driver": "^0.7.4"
}
},
"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-list-map": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz",
@ -16270,6 +16473,15 @@
"integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==",
"deprecated": "Please use @jridgewell/sourcemap-codec instead"
},
"node_modules/sparse-bitfield": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz",
"integrity": "sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ==",
"optional": true,
"dependencies": {
"memory-pager": "^1.0.2"
}
},
"node_modules/spdy": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz",
@ -20626,6 +20838,15 @@
"resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz",
"integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A=="
},
"@mongodb-js/saslprep": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.1.0.tgz",
"integrity": "sha512-Xfijy7HvfzzqiOAhAepF4SGN5e9leLkMvg/OPOF97XemjfVCYN/oWa75wnkc6mltMSTwY+XlbhWgUOJmkFspSw==",
"optional": true,
"requires": {
"sparse-bitfield": "^3.0.3"
}
},
"@nicolo-ribaudo/eslint-scope-5-internals": {
"version": "5.1.1-v1",
"resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz",
@ -21668,6 +21889,20 @@
"resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.4.tgz",
"integrity": "sha512-IDaobHimLQhjwsQ/NMwRVfa/yL7L/wriQPMhw1ZJall0KX6E1oxk29XMDeilW5qTIg5aoiqf5Udy8U/51aNoQQ=="
},
"@types/webidl-conversions": {
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-7.0.1.tgz",
"integrity": "sha512-8hKOnOan+Uu+NgMaCouhg3cT9x5fFZ92Jwf+uDLXLu/MFRbXxlWwGeQY7KVHkeSft6RvY+tdxklUBuyY9eIEKg=="
},
"@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": "*"
}
},
"@types/ws": {
"version": "8.5.6",
"resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.6.tgz",
@ -22666,6 +22901,11 @@
"node-int64": "^0.4.0"
}
},
"bson": {
"version": "5.5.0",
"resolved": "https://registry.npmjs.org/bson/-/bson-5.5.0.tgz",
"integrity": "sha512-B+QB4YmDx9RStKv8LLSl/aVIEV3nYJc3cJNNTK2Cd1TL+7P+cNpw9mAPeCgc5K+j01Dv6sxUzcITXDx7ZU3F0w=="
},
"buffer-crc32": {
"version": "0.2.13",
"resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
@ -25412,6 +25652,11 @@
"side-channel": "^1.0.4"
}
},
"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": "2.1.0",
"resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.1.0.tgz",
@ -27352,6 +27597,11 @@
"object.values": "^1.1.6"
}
},
"kareem": {
"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.3",
"resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.3.tgz",
@ -27577,6 +27827,12 @@
"fs-monkey": "^1.0.4"
}
},
"memory-pager": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz",
"integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==",
"optional": true
},
"merge-descriptors": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
@ -27711,6 +27967,84 @@
"minimist": "^1.2.6"
}
},
"mongodb": {
"version": "5.9.0",
"resolved": "https://registry.npmjs.org/mongodb/-/mongodb-5.9.0.tgz",
"integrity": "sha512-g+GCMHN1CoRUA+wb1Agv0TI4YTSiWr42B5ulkiAfLLHitGK1R+PkSAf3Lr5rPZwi/3F04LiaZEW0Kxro9Fi2TA==",
"requires": {
"@mongodb-js/saslprep": "^1.1.0",
"bson": "^5.5.0",
"mongodb-connection-string-url": "^2.6.0",
"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": {
"tr46": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz",
"integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==",
"requires": {
"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": "7.6.0",
"resolved": "https://registry.npmjs.org/mongoose/-/mongoose-7.6.0.tgz",
"integrity": "sha512-ztQ12rm0BQN5i7LB6xhWX4l9a9w2aa3jEwa/mM2vAutYJRyAwOzcusvKJBULMzFHyUDBOVW15grisexypgMIWA==",
"requires": {
"bson": "^5.4.0",
"kareem": "2.5.1",
"mongodb": "5.9.0",
"mpath": "0.9.0",
"mquery": "5.0.0",
"ms": "2.1.3",
"sift": "16.0.1"
},
"dependencies": {
"ms": {
"version": "2.1.3",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
}
}
},
"mpath": {
"version": "0.9.0",
"resolved": "https://registry.npmjs.org/mpath/-/mpath-0.9.0.tgz",
"integrity": "sha512-ikJRQTk8hw5DEoFVxHG1Gn9T/xcjtdnOKIU1JTmGjZZlg9LST2mBLmcX3/ICIbgJydT2GOc15RnNy5mHmzfSew=="
},
"mquery": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/mquery/-/mquery-5.0.0.tgz",
"integrity": "sha512-iQMncpmEK8R8ncT8HJGsGc9Dsp8xcgYMVSbs5jgnm1lFHTZqMJTUWTDx1LBO8+mK3tPNZWFLBghQEIOULSTHZg==",
"requires": {
"debug": "4.x"
}
},
"ms": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
@ -29903,6 +30237,11 @@
"object-inspect": "^1.9.0"
}
},
"sift": {
"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",
@ -29918,6 +30257,11 @@
"resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
"integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q=="
},
"smart-buffer": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz",
"integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg=="
},
"sockjs": {
"version": "0.3.24",
"resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz",
@ -29928,6 +30272,15 @@
"websocket-driver": "^0.7.4"
}
},
"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-list-map": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz",
@ -29974,6 +30327,15 @@
"resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz",
"integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA=="
},
"sparse-bitfield": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz",
"integrity": "sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ==",
"optional": true,
"requires": {
"memory-pager": "^1.0.2"
}
},
"spdy": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz",

@ -11,6 +11,7 @@
"bootstrap": "^5.3.2",
"crypto": "^1.0.1",
"eslint-config-react-app": "^7.0.1",
"mongoose": "^7.6.0",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-scripts": "^5.0.1",
@ -44,5 +45,5 @@
},
"browser": {
"crypto": false
}
}
}

@ -0,0 +1,68 @@
const crypto = require('crypto');
const uModel = require('./models/users')
class _Crypto
{
constructor(User, Password)
{
this.salt = 'H$44Q3RVCd9X8Ef63tB4';
this.secret = 'mYFUZX9NSx7K74r7Jh@O';
this.pepper = String.fromCharCode(this.getRandomInt(65, 90));
this.password = Password;
this.user = User;
this.algorithm = 'aes-192-cbc';
}
get Hash() // to use on register
{
return this.hash()
}
hash(p)
{
return crypto.createHmac('sha256', this.secret).update(this.user+this.password+this.salt + (p?p:this.pepper) ).digest('hex');
}
eHash(Email)
{
Email = Email?Email:this.user
return this.user? new Buffer.from(this.user).toString('base64') :new Buffer.from(Email).toString('base64');
}
decrypt(eHash)
{
return new Buffer.from(eHash, 'base64').toString('utf8');
}
getRandomInt(min, max)
{
min = Math.ceil(min);
max = Math.floor(max);
return Math.floor(Math.random() * (max - min)) + min;
}
//TODO: compare()
//Get hash from db run through the peper possibilties and see if there is a match.
//return hash if true, null if false
async bouncer()
{
var Users = await uModel.find()
if(Users.length===0) return
var response;
for(var i = 65; i < 91; i++)
{
// eslint-disable-next-line no-loop-func
((i)=>{
var auxHash = this.hash(String.fromCharCode(i))
var auxUsers = Users.filter(x=>x.Hash === auxHash)
if(auxUsers.length === 1) return response = auxHash;
})(i)
}
return response;
}
async isNew(eHash)
{
var User = await uModel.find({eHash});
return !(User.length>0);
}
}module.exports._Crypto = _Crypto;

@ -0,0 +1,42 @@
class LeagueAPI
{
constructor()
{
this.key = process.env.lolAPIKey || 'RGAPI-fc17a511-f587-495b-ac01-80716870d46b';
}
async verifyUserName(nick, tag)
{
var options = {
method: "GET",
mode: "cors",
headers:
{
"Origin": "https://developer.riotgames.com",
"X-Riot-Token": this.key
}
}
var res = await fetch(`https://europe.api.riotgames.com/riot/account/v1/accounts/by-riot-id/${nick}/${tag}`, options)
.then(handleRes)
.then(handleData)
.catch(handleErrors)
function handleRes(response)
{
return response.text()
}
function handleErrors(error)
{
return error;
}
function handleData(data)
{
data = JSON.parse(data);
return {
name:data.gameName,
puuid:data.puuid
}
}
return res.name?res:null;
}
}module.exports.LeagueAPI = LeagueAPI

@ -1,5 +1,9 @@
const {_Crypto} = require('./cryptoLib');
const mongoose = require('mongoose');
const {app, BrowserWindow, ipcMain} = require('electron');
const mongoDB = 'mongodb+srv://admin:admin@cluster0.hrgvn.mongodb.net/LegendaryLeague?retryWrites=true&w=majority';
const userModel = require('./models/users');
const {LeagueAPI} = require('./leagueAPI')
var window;
function createWindow()
{
@ -26,7 +30,9 @@ function createWindow()
}
app.on('ready', ()=>
{
mongoose.Promise = global.Promise;
window = createWindow();
mongoose.connect(mongoDB);
} )
ipcMain.on('close', (event, data) =>
@ -41,9 +47,35 @@ ipcMain.on('minimize', (event, data) =>
{
window.hide();
});
ipcMain.on('login', (event, data) =>
ipcMain.on('login', async (event, data) =>
{
console.log(data)
console.log('data',data);
const Hash = await new _Crypto(data.email, data.pw).bouncer();
console.log(Hash)
if(Hash)
{
window.webContents.send('login', Hash)
}
});
ipcMain.on('register', async (event, data) =>
{
//console.log('event',event,'data',data);
var nick_tag = data.nick_tag.split('#');
var name = nick_tag[0];
var tag = nick_tag[1]
var RiotExists = await new LeagueAPI().verifyUserName(name, tag);
if(!RiotExists) return window.webContents.send('register', 'No account on league with this name and/or tag.')
const crypto = new _Crypto(data.email, data.pw)
const Hash = crypto.hash();
const eHash = crypto.eHash();
const isNew = await crypto.isNew(eHash);
if(!isNew) return window.webContents.send('register', 'There is already an account with this email.')
var uModel = new userModel();
uModel.Hash = Hash;
uModel.eHash = eHash;
uModel.leagueName = data.nick_tag;
const saved = await uModel.save();
window.webContents.send('register',JSON.stringify(saved))
});
app.on('window-all-closed', ()=>

@ -0,0 +1,20 @@
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
let User =
new Schema(
{
Hash: {type: String, required: false, max: 100},
eHash: {type:String, required: true,},
leagueName: {type:String, required:true}
}
);
const U = module.exports = mongoose.model('user', User);
module.exports.get = (callback, limit)=>
{
U.find(callback).limit(limit);
}

@ -3,26 +3,77 @@ import './Login.css';
class Login extends React.Component
{
sendForm(formData)
constructor()
{
window.ipcRender.send('login', formData)
super();
this.isPWValid = false;
this.receive();
}
callRegister()
{
window.ipcRender.send('register')
var date = new Date( new Date().setTime(new Date().getTime()+10000)).toGMTString();
document.cookie = document.cookie+ 'nextPage=Register; expires='+date+';';
window.location.reload();
}
validateConstraints(event)
{
event.preventDefault();
const passwordInput = document.getElementsByClassName('password')[0];
let message= '';
if (!/.{8,}/.test(passwordInput.value)) {
message = 'At least eight characters. ';
}
if (!/.*[A-Z].*/.test(passwordInput.value)) {
message += '\nAt least one uppercase letter. ';
}
if (!/.*[a-z].*/.test(passwordInput.value)) {
message += '\nAt least one lowercase letter.';
}
passwordInput.setCustomValidity(message);
if(message==='')
{
var form = document.getElementById('form')
window.ipcRender.send('login', {
email:form[0].value,
pw:form[1].value
})
window.ipcRender.receive('login', hash=>
{
document.cookie = document.cookie+ `Hash=${hash};`;
window.location.reload();
})
};
}
emailValidity()
{
document.getElementsByClassName('emailInput')[0].setCustomValidity('Email does not match normal parameters.');
}
handleKeyDown(event)
{
if (event.keyCode === 13 ) {
    event.preventDefault();
}
}
receive()
{
window.ipcRender.receive('login', data=>
{
document.cookie = document.cookie+ `Hash=${data.Hash};`;
window.location.reload();
})
}
render()
{
return(
<div className='container'>
<form className='loginForm'>
<form id='form' className='loginForm'>
<label><span>Email</span></label>
<input className='emailImput'></input>
<input required className='emailInput' type="email" placeholder=" " onKeyDown={this.handleKeyDown} onInvalid={this.emailValidity}></input>
<label><span>Password</span></label>
<input className='password'></input>
<button className='bt Login' onClick={this.sendForm(form)}>Login</button>
<button className='bt Register' onClick={this.callRegister}> Register</button>
<input required className='password' type="password" onKeyDown={this.handleKeyDown} autoComplete="current-password" ></input>
<button className='bt Login' onClick={this.validateConstraints}>Login</button>
<button className='bt Register' type='button' onClick={this.callRegister} > Register</button>
</form>
</div>
)

@ -0,0 +1,27 @@
.container
{
position: relative;
width: 14em;
top: 9em;
display: flex;
flex-direction: column;
justify-content: space-evenly;
align-items: stretch;
text-align: center;
color:ivory;
}
input
{
text-align: center;
}
.bt
{
width: auto;
height: 2em;
background-color: rgba(0, 0, 0, 0.582);
border: 1px solid rgba(0, 0, 0, 0.582);
color:ivory;
font-weight: bold;
cursor: pointer;
margin-top: 1em;
}

@ -0,0 +1,92 @@
import React from 'react'
import './RegisterForm.css'
class Register extends React.Component
{
send(event)
{
event.preventDefault();
var form = document.getElementById('form');
var correctEmail = form[0].value ===form[1].value;
var correctPassword = form[2].value ===form[3].value
if(!correctEmail || !correctPassword)
{
return badInput(correctEmail, correctPassword)
}
const passwordInput = document.getElementsByClassName('Password')[0];
let message= '';
if (!/.{8,}/.test(passwordInput.value)) {
message = 'At least eight characters. ';
}
if (!/.*[A-Z].*/.test(passwordInput.value)) {
message += '\nAt least one uppercase letter. ';
}
if (!/.*[a-z].*/.test(passwordInput.value)) {
message += '\nAt least one lowercase letter.';
}
passwordInput.setCustomValidity(message);
if(message==='')
{
window.ipcRender.send('register', {
email:form[0].value,
pw:form[2].value,
nick_tag:form[4].value
})
window.ipcRender.receive('register', data=>
{
data = JSON.parse(data);
document.cookie = document.cookie+ `Hash=${data.Hash};`;
window.location.reload();
})
}
/**
*
* @param {String} mail -email
* @param {String} pw - password
* @returns {void}
*/
function badInput(mail, pw)
{
console.log(mail, pw)
if(!mail) return document.getElementById('Email').setCustomValidity('Emails don\'t match.');
if(!pw) return document.getElementById('Password').setCustomValidity('Passwords don\'t match.');
}
}
emailValidity()
{
document.getElementsByClassName('Email')[0].setCustomValidity('Email does not match normal parameters.');
}
render()
{
return(
<div>
<form id="form" className='container'>
<section>
<label htmlFor="Email">Email</label>
<input id="Email" name="Email" className="Email" type="email" onInvalid={this.emailValidity} required />
<label htmlFor="Email">Confirm Email</label>
<input id="Email2" name="Email" className="Email" type="email" onInvalid={this.emailValidity} required />
</section>
<section>
<label htmlFor="Password">Password</label>
<input id="Password" name="Password" className="Password" type="password" required />
<label htmlFor="Password2">Confirm password</label>
<input id="Password2" name="Password" className="Password" type="password" required />
</section>
<section>
<label htmlFor="Name">League Nickname {'(nick#tag)'}</label>
<input id="Name" name="Name" className="Name" type="text" required />
</section>
<button id="button" className='bt' onClick={this.send}>Register</button>
</form>
</div>
)
}
}
export default Register

@ -1,19 +1,34 @@
import Login from "../Components/Login";
import Register from "../Components/RegisterForm";
const { cookieSlicer } = require("../lib");
function Home() {
var Hash = cookieSlicer(document.cookie,'Hash');
var nextPage = cookieSlicer(document.cookie, 'nextPage');
console.log(nextPage)
console.log(Hash)
return (
return (
<div className="BODY">
{Hash ? (
<h1>Welcome back!</h1>
//TODO: Actual Page
) : (
<Login/>
)}
{Hash ?
(
<h1>Welcome back!</h1>
//TODO: Actual Page
) :
(
<div>
{nextPage==='Register'?
(
<Register />
):
(
<Login />
)
}
</div>
)
}
</div>
);
);
}
export default Home;

@ -8,6 +8,7 @@ import Controls from './Components/Controls'
import Home from './Pages/Home'
const rootElement = document.getElementById("root");
const root = createRoot(rootElement);
document.documentElement.lang=
console.log(document.cookie)
root.render(
<StrictMode>

@ -1,48 +1,3 @@
import crypto from 'crypto';
export class _Crypto
{
constructor(User, Password)
{
this.salt = 'H$44Q3RVCd9X8Ef63tB4';
this.secret = 'mYFUZX9NSx7K74r7Jh@O';
this.pepper = String.fromCharCode(this.getRandomInt(65, 90));
this.password = Password;
this.user = User;
this.algorithm = 'aes-192-cbc';
}
get Hash() // to use on register
{
return this.hash()
}
hash(p)
{
return crypto.createHmac('sha256', this.secret).update(this.user+this.password+this.salt + (p?p:this.pepper) ).digest('hex');
}
eHash(Email)
{
return new Buffer.from(Email).toString('base64');
}
decrypt(eHash)
{
return new Buffer.from(eHash, 'base64').toString('utf8');
}
getRandomInt(min, max)
{
min = Math.ceil(min);
max = Math.floor(max);
return Math.floor(Math.random() * (max - min)) + min;
}
//TODO: compare(hash)
//Get hash from db run through the peper possibilties and see if there is a match.
//return hash if true, null if false
}
export class Epoch
{
/**
@ -94,75 +49,6 @@ export class Epoch
}
/**
* Use it to transform an hour value into miliseconds.
* @param {Number} Hours - Hours to transform
*/
function hours(Hours)
{
return Hours*60*60*1000;
}
/**
* This function writes a cookie on the client side.
* Primary use: Store users Hash for every other page.
* @argument {Response} res - Response: express response object.
* @argument {String} name - Name of the cookie.
* @argument {*} value - Value of the cookie.
*/
export function baker(res, name, value)
{
return new Promise((resolve,reject)=>
{
try
{
res.cookie(name, '',{maxAge:0});
res.cookie(name, value, {maxAge:hours(2),path:'/',secure:false,httpOnly:false});
resolve();
}
catch (e)
{
reject(e)
}
})
}
/**
* Hash used on register to check if there is already a user with the same credentials.
* @param {String} user - User's email
* @param {String} password - User's Password
* @param {String} hash - User's identifying hash
*/
export function bouncer (user, password, hash)
{
return new Promise((resolve, reject)=>
{
//!Crypto compare needs to be reworked so this is legacy code not supposed to work
// new _Crypto(user, password).compare().then(m=>
// {
// if(hash)
// {
// if(m==hash)
// {
// resolve(m)
// }
// else
// {
// reject('You are on a different account.')
// }
// }
// else
// {
// resolve(m)
// }
// }).catch(m=>
// {
// reject(m)
// })
})
}
export function cookieSlicer(cookie, id)
{
cookie = cookie.split(';');
@ -173,4 +59,5 @@ export function cookieSlicer(cookie, id)
result.set(aux[0], aux[1]);
}
return id?result.get(id):result;
}
}

@ -0,0 +1,19 @@
// const uModel = require('./src/models/users');
const mongoDB = 'mongodb+srv://admin:admin@cluster0.hrgvn.mongodb.net/LegendaryLeague?retryWrites=true&w=majority';
const mongoose = require('mongoose');
mongoose.Promise = global.Promise;
mongoose.connect(mongoDB);
const {LeagueAPI} = require('./public/leagueAPI');
const {_Crypto} = require('./public/cryptoLib');
(async ()=>
{
// var RiotExists = await new LeagueAPI().verifyUserName('hc12', 'EUW');
// console.log(RiotExists)
const crypto = await new _Crypto('a@a.pt', 'aA123456').bouncer();
console.log(crypto)
// const Hash = crypto.hash();
// const eHash = crypto.eHash();
// const isNew = await crypto.isNew(eHash);
// console.log(Hash, eHash, isNew)
})()

@ -1631,6 +1631,13 @@
"resolved" "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz"
"version" "2.0.4"
"@mongodb-js/saslprep@^1.1.0":
"integrity" "sha512-Xfijy7HvfzzqiOAhAepF4SGN5e9leLkMvg/OPOF97XemjfVCYN/oWa75wnkc6mltMSTwY+XlbhWgUOJmkFspSw=="
"resolved" "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.1.0.tgz"
"version" "1.1.0"
dependencies:
"sparse-bitfield" "^3.0.3"
"@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1":
"integrity" "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg=="
"resolved" "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz"
@ -2274,6 +2281,19 @@
"resolved" "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.4.tgz"
"version" "2.0.4"
"@types/webidl-conversions@*":
"integrity" "sha512-8hKOnOan+Uu+NgMaCouhg3cT9x5fFZ92Jwf+uDLXLu/MFRbXxlWwGeQY7KVHkeSft6RvY+tdxklUBuyY9eIEKg=="
"resolved" "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-7.0.1.tgz"
"version" "7.0.1"
"@types/whatwg-url@^8.2.1":
"integrity" "sha512-FtQu10RWgn3D9U4aazdwIE2yzphmTJREDqNdODHrbrZmmMqI0vMheC/6NE/J1Yveaj8H+ela+YwWTjq5PGmuhA=="
"resolved" "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-8.2.2.tgz"
"version" "8.2.2"
dependencies:
"@types/node" "*"
"@types/webidl-conversions" "*"
"@types/ws@^8.5.5":
"integrity" "sha512-8B5EO9jLVCy+B58PLHvLDuOD8DRVMgQzq8d55SjLCOn9kqGyqOvy27exVaTio1q1nX5zLu8/6N0n2ThSxOM6tg=="
"resolved" "https://registry.npmjs.org/@types/ws/-/ws-8.5.6.tgz"
@ -3166,6 +3186,11 @@
dependencies:
"node-int64" "^0.4.0"
"bson@^5.4.0", "bson@^5.5.0":
"integrity" "sha512-B+QB4YmDx9RStKv8LLSl/aVIEV3nYJc3cJNNTK2Cd1TL+7P+cNpw9mAPeCgc5K+j01Dv6sxUzcITXDx7ZU3F0w=="
"resolved" "https://registry.npmjs.org/bson/-/bson-5.5.0.tgz"
"version" "5.5.0"
"buffer-crc32@~0.2.3":
"integrity" "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ=="
"resolved" "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz"
@ -3848,7 +3873,7 @@
dependencies:
"ms" "^2.1.1"
"debug@^4.1.0", "debug@^4.1.1", "debug@^4.3.2", "debug@^4.3.4", "debug@4":
"debug@^4.1.0", "debug@^4.1.1", "debug@^4.3.2", "debug@^4.3.4", "debug@4", "debug@4.x":
"integrity" "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ=="
"resolved" "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz"
"version" "4.3.4"
@ -5570,6 +5595,11 @@
"has" "^1.0.3"
"side-channel" "^1.0.4"
"ip@^2.0.0":
"integrity" "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ=="
"resolved" "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz"
"version" "2.0.0"
"ipaddr.js@^2.0.1":
"integrity" "sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ=="
"resolved" "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.1.0.tgz"
@ -6593,6 +6623,11 @@
"object.assign" "^4.1.4"
"object.values" "^1.1.6"
"kareem@2.5.1":
"integrity" "sha512-7jFxRVm+jD+rkq3kY0iZDJfsO2/t4BBPeEb2qKn2lR/9KhuksYk5hxzfRYWMPV8P/x2d0kHD306YyWLzjjH+uA=="
"resolved" "https://registry.npmjs.org/kareem/-/kareem-2.5.1.tgz"
"version" "2.5.1"
"keyv@^4.0.0", "keyv@^4.5.3":
"integrity" "sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug=="
"resolved" "https://registry.npmjs.org/keyv/-/keyv-4.5.3.tgz"
@ -6832,6 +6867,11 @@
dependencies:
"fs-monkey" "^1.0.4"
"memory-pager@^1.0.2":
"integrity" "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg=="
"resolved" "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz"
"version" "1.5.0"
"merge-descriptors@1.0.1":
"integrity" "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w=="
"resolved" "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz"
@ -6935,6 +6975,50 @@
dependencies:
"minimist" "^1.2.6"
"mongodb-connection-string-url@^2.6.0":
"integrity" "sha512-WvTZlI9ab0QYtTYnuMLgobULWhokRjtC7db9LtcVfJ+Hsnyr5eo6ZtNAt3Ly24XZScGMelOcGtm7lSn0332tPQ=="
"resolved" "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-2.6.0.tgz"
"version" "2.6.0"
dependencies:
"@types/whatwg-url" "^8.2.1"
"whatwg-url" "^11.0.0"
"mongodb@5.9.0":
"integrity" "sha512-g+GCMHN1CoRUA+wb1Agv0TI4YTSiWr42B5ulkiAfLLHitGK1R+PkSAf3Lr5rPZwi/3F04LiaZEW0Kxro9Fi2TA=="
"resolved" "https://registry.npmjs.org/mongodb/-/mongodb-5.9.0.tgz"
"version" "5.9.0"
dependencies:
"bson" "^5.5.0"
"mongodb-connection-string-url" "^2.6.0"
"socks" "^2.7.1"
optionalDependencies:
"@mongodb-js/saslprep" "^1.1.0"
"mongoose@^7.6.0":
"integrity" "sha512-ztQ12rm0BQN5i7LB6xhWX4l9a9w2aa3jEwa/mM2vAutYJRyAwOzcusvKJBULMzFHyUDBOVW15grisexypgMIWA=="
"resolved" "https://registry.npmjs.org/mongoose/-/mongoose-7.6.0.tgz"
"version" "7.6.0"
dependencies:
"bson" "^5.4.0"
"kareem" "2.5.1"
"mongodb" "5.9.0"
"mpath" "0.9.0"
"mquery" "5.0.0"
"ms" "2.1.3"
"sift" "16.0.1"
"mpath@0.9.0":
"integrity" "sha512-ikJRQTk8hw5DEoFVxHG1Gn9T/xcjtdnOKIU1JTmGjZZlg9LST2mBLmcX3/ICIbgJydT2GOc15RnNy5mHmzfSew=="
"resolved" "https://registry.npmjs.org/mpath/-/mpath-0.9.0.tgz"
"version" "0.9.0"
"mquery@5.0.0":
"integrity" "sha512-iQMncpmEK8R8ncT8HJGsGc9Dsp8xcgYMVSbs5jgnm1lFHTZqMJTUWTDx1LBO8+mK3tPNZWFLBghQEIOULSTHZg=="
"resolved" "https://registry.npmjs.org/mquery/-/mquery-5.0.0.tgz"
"version" "5.0.0"
dependencies:
"debug" "4.x"
"ms@^2.1.1", "ms@2.1.2":
"integrity" "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
"resolved" "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz"
@ -8789,6 +8873,11 @@
"get-intrinsic" "^1.0.2"
"object-inspect" "^1.9.0"
"sift@16.0.1":
"integrity" "sha512-Wv6BjQ5zbhW7VFefWusVP33T/EM0vYikCaQ2qR8yULbsilAT8/wQaXvuQ3ptGLpoKx+lihJE3y2UTgKDyyNHZQ=="
"resolved" "https://registry.npmjs.org/sift/-/sift-16.0.1.tgz"
"version" "16.0.1"
"signal-exit@^3.0.2", "signal-exit@^3.0.3":
"integrity" "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="
"resolved" "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz"
@ -8809,6 +8898,11 @@
"resolved" "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz"
"version" "4.0.0"
"smart-buffer@^4.2.0":
"integrity" "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg=="
"resolved" "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz"
"version" "4.2.0"
"sockjs@^0.3.24":
"integrity" "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ=="
"resolved" "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz"
@ -8818,6 +8912,14 @@
"uuid" "^8.3.2"
"websocket-driver" "^0.7.4"
"socks@^2.7.1":
"integrity" "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ=="
"resolved" "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz"
"version" "2.7.1"
dependencies:
"ip" "^2.0.0"
"smart-buffer" "^4.2.0"
"source-list-map@^2.0.0", "source-list-map@^2.0.1":
"integrity" "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw=="
"resolved" "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz"
@ -8882,6 +8984,13 @@
"resolved" "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz"
"version" "1.4.8"
"sparse-bitfield@^3.0.3":
"integrity" "sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ=="
"resolved" "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz"
"version" "3.0.3"
dependencies:
"memory-pager" "^1.0.2"
"spdy-transport@^3.0.0":
"integrity" "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw=="
"resolved" "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz"
@ -9379,6 +9488,13 @@
dependencies:
"punycode" "^2.1.1"
"tr46@^3.0.0":
"integrity" "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA=="
"resolved" "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz"
"version" "3.0.0"
dependencies:
"punycode" "^2.1.1"
"tryer@^1.0.1":
"integrity" "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA=="
"resolved" "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz"
@ -9712,6 +9828,11 @@
"resolved" "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz"
"version" "6.1.0"
"webidl-conversions@^7.0.0":
"integrity" "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g=="
"resolved" "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz"
"version" "7.0.0"
"webpack-dev-middleware@^5.3.1":
"integrity" "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA=="
"resolved" "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz"
@ -9849,6 +9970,14 @@
"resolved" "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz"
"version" "2.3.0"
"whatwg-url@^11.0.0":
"integrity" "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ=="
"resolved" "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz"
"version" "11.0.0"
dependencies:
"tr46" "^3.0.0"
"webidl-conversions" "^7.0.0"
"whatwg-url@^7.0.0":
"integrity" "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg=="
"resolved" "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz"

Loading…
Cancel
Save