├── .gitignore ├── index.js ├── package-lock.json └── package.json /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .env -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | const express = require('express'); 2 | const app = express(); 3 | const cors = require('cors'); 4 | require('dotenv').config() 5 | const port = process.env.PORT || 5000; 6 | 7 | // middleware 8 | app.use(cors()); 9 | app.use(express.json()); 10 | 11 | 12 | const { MongoClient, ServerApiVersion, ObjectId } = require('mongodb'); 13 | const uri = `mongodb+srv://${process.env.DB_USER}:${process.env.DB_PASS}@cluster0.swu9d.mongodb.net/?retryWrites=true&w=majority`; 14 | 15 | // Create a MongoClient with a MongoClientOptions object to set the Stable API version 16 | const client = new MongoClient(uri, { 17 | serverApi: { 18 | version: ServerApiVersion.v1, 19 | strict: true, 20 | deprecationErrors: true, 21 | } 22 | }); 23 | 24 | async function run() { 25 | try { 26 | // Connect the client to the server (optional starting in v4.7) 27 | await client.connect(); 28 | 29 | const menuCollection = client.db("bistroDb").collection("menu"); 30 | const reviewCollection = client.db("bistroDb").collection("reviews"); 31 | const cartCollection = client.db("bistroDb").collection("carts"); 32 | 33 | app.get('/menu', async (req, res) => { 34 | const result = await menuCollection.find().toArray(); 35 | res.send(result); 36 | }) 37 | 38 | app.get('/reviews', async (req, res) => { 39 | const result = await reviewCollection.find().toArray(); 40 | res.send(result); 41 | }) 42 | 43 | 44 | // cart collection apis 45 | app.get('/carts', async (req, res) => { 46 | const email = req.query.email; 47 | 48 | if (!email) { 49 | res.send([]); 50 | } 51 | const query = { email: email }; 52 | const result = await cartCollection.find(query).toArray(); 53 | res.send(result); 54 | }); 55 | 56 | app.post('/carts', async (req, res) => { 57 | const item = req.body; 58 | console.log(item); 59 | const result = await cartCollection.insertOne(item); 60 | res.send(result); 61 | }) 62 | 63 | app.delete('/carts/:id', async (req, res) => { 64 | const id = req.params.id; 65 | const query = { _id: new ObjectId(id) }; 66 | const result = await cartCollection.deleteOne(query); 67 | res.send(result); 68 | }) 69 | 70 | // Send a ping to confirm a successful connection 71 | await client.db("admin").command({ ping: 1 }); 72 | console.log("Pinged your deployment. You successfully connected to MongoDB!"); 73 | } finally { 74 | // Ensures that the client will close when you finish/error 75 | // await client.close(); 76 | } 77 | } 78 | run().catch(console.dir); 79 | 80 | 81 | app.get('/', (req, res) => { 82 | res.send('boss is sitting') 83 | }) 84 | 85 | app.listen(port, () => { 86 | console.log(`Bistro boss is sitting on port ${port}`); 87 | }) 88 | 89 | 90 | /** 91 | * -------------------------------- 92 | * NAMING CONVENTION 93 | * -------------------------------- 94 | * users : userCollection 95 | * app.get('/users') 96 | * app.get('/users/:id') 97 | * app.post('/users') 98 | * app.patch('/users/:id') 99 | * app.put('/users/:id') 100 | * app.delete('/users/:id') 101 | */ -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bistro-boss-server", 3 | "version": "1.0.0", 4 | "lockfileVersion": 2, 5 | "requires": true, 6 | "packages": { 7 | "": { 8 | "name": "bistro-boss-server", 9 | "version": "1.0.0", 10 | "license": "ISC", 11 | "dependencies": { 12 | "cors": "^2.8.5", 13 | "dotenv": "^16.0.3", 14 | "express": "^4.18.2", 15 | "mongodb": "^5.5.0" 16 | } 17 | }, 18 | "node_modules/@types/node": { 19 | "version": "20.2.3", 20 | "resolved": "https://registry.npmjs.org/@types/node/-/node-20.2.3.tgz", 21 | "integrity": "sha512-pg9d0yC4rVNWQzX8U7xb4olIOFuuVL9za3bzMT2pu2SU0SNEi66i2qrvhE2qt0HvkhuCaWJu7pLNOt/Pj8BIrw==" 22 | }, 23 | "node_modules/@types/webidl-conversions": { 24 | "version": "7.0.0", 25 | "resolved": "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-7.0.0.tgz", 26 | "integrity": "sha512-xTE1E+YF4aWPJJeUzaZI5DRntlkY3+BCVJi0axFptnjGmAoWxkyREIh/XMrfxVLejwQxMCfDXdICo0VLxThrog==" 27 | }, 28 | "node_modules/@types/whatwg-url": { 29 | "version": "8.2.2", 30 | "resolved": "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-8.2.2.tgz", 31 | "integrity": "sha512-FtQu10RWgn3D9U4aazdwIE2yzphmTJREDqNdODHrbrZmmMqI0vMheC/6NE/J1Yveaj8H+ela+YwWTjq5PGmuhA==", 32 | "dependencies": { 33 | "@types/node": "*", 34 | "@types/webidl-conversions": "*" 35 | } 36 | }, 37 | "node_modules/accepts": { 38 | "version": "1.3.8", 39 | "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", 40 | "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", 41 | "dependencies": { 42 | "mime-types": "~2.1.34", 43 | "negotiator": "0.6.3" 44 | }, 45 | "engines": { 46 | "node": ">= 0.6" 47 | } 48 | }, 49 | "node_modules/array-flatten": { 50 | "version": "1.1.1", 51 | "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", 52 | "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" 53 | }, 54 | "node_modules/body-parser": { 55 | "version": "1.20.1", 56 | "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", 57 | "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", 58 | "dependencies": { 59 | "bytes": "3.1.2", 60 | "content-type": "~1.0.4", 61 | "debug": "2.6.9", 62 | "depd": "2.0.0", 63 | "destroy": "1.2.0", 64 | "http-errors": "2.0.0", 65 | "iconv-lite": "0.4.24", 66 | "on-finished": "2.4.1", 67 | "qs": "6.11.0", 68 | "raw-body": "2.5.1", 69 | "type-is": "~1.6.18", 70 | "unpipe": "1.0.0" 71 | }, 72 | "engines": { 73 | "node": ">= 0.8", 74 | "npm": "1.2.8000 || >= 1.4.16" 75 | } 76 | }, 77 | "node_modules/bson": { 78 | "version": "5.3.0", 79 | "resolved": "https://registry.npmjs.org/bson/-/bson-5.3.0.tgz", 80 | "integrity": "sha512-ukmCZMneMlaC5ebPHXIkP8YJzNl5DC41N5MAIvKDqLggdao342t4McltoJBQfQya/nHBWAcSsYRqlXPoQkTJag==", 81 | "engines": { 82 | "node": ">=14.20.1" 83 | } 84 | }, 85 | "node_modules/bytes": { 86 | "version": "3.1.2", 87 | "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", 88 | "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", 89 | "engines": { 90 | "node": ">= 0.8" 91 | } 92 | }, 93 | "node_modules/call-bind": { 94 | "version": "1.0.2", 95 | "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", 96 | "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", 97 | "dependencies": { 98 | "function-bind": "^1.1.1", 99 | "get-intrinsic": "^1.0.2" 100 | }, 101 | "funding": { 102 | "url": "https://github.com/sponsors/ljharb" 103 | } 104 | }, 105 | "node_modules/content-disposition": { 106 | "version": "0.5.4", 107 | "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", 108 | "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", 109 | "dependencies": { 110 | "safe-buffer": "5.2.1" 111 | }, 112 | "engines": { 113 | "node": ">= 0.6" 114 | } 115 | }, 116 | "node_modules/content-type": { 117 | "version": "1.0.5", 118 | "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", 119 | "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", 120 | "engines": { 121 | "node": ">= 0.6" 122 | } 123 | }, 124 | "node_modules/cookie": { 125 | "version": "0.5.0", 126 | "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", 127 | "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", 128 | "engines": { 129 | "node": ">= 0.6" 130 | } 131 | }, 132 | "node_modules/cookie-signature": { 133 | "version": "1.0.6", 134 | "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", 135 | "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" 136 | }, 137 | "node_modules/cors": { 138 | "version": "2.8.5", 139 | "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", 140 | "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", 141 | "dependencies": { 142 | "object-assign": "^4", 143 | "vary": "^1" 144 | }, 145 | "engines": { 146 | "node": ">= 0.10" 147 | } 148 | }, 149 | "node_modules/debug": { 150 | "version": "2.6.9", 151 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 152 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 153 | "dependencies": { 154 | "ms": "2.0.0" 155 | } 156 | }, 157 | "node_modules/depd": { 158 | "version": "2.0.0", 159 | "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", 160 | "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", 161 | "engines": { 162 | "node": ">= 0.8" 163 | } 164 | }, 165 | "node_modules/destroy": { 166 | "version": "1.2.0", 167 | "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", 168 | "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", 169 | "engines": { 170 | "node": ">= 0.8", 171 | "npm": "1.2.8000 || >= 1.4.16" 172 | } 173 | }, 174 | "node_modules/dotenv": { 175 | "version": "16.0.3", 176 | "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz", 177 | "integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==", 178 | "engines": { 179 | "node": ">=12" 180 | } 181 | }, 182 | "node_modules/ee-first": { 183 | "version": "1.1.1", 184 | "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", 185 | "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" 186 | }, 187 | "node_modules/encodeurl": { 188 | "version": "1.0.2", 189 | "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", 190 | "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", 191 | "engines": { 192 | "node": ">= 0.8" 193 | } 194 | }, 195 | "node_modules/escape-html": { 196 | "version": "1.0.3", 197 | "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", 198 | "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" 199 | }, 200 | "node_modules/etag": { 201 | "version": "1.8.1", 202 | "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", 203 | "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", 204 | "engines": { 205 | "node": ">= 0.6" 206 | } 207 | }, 208 | "node_modules/express": { 209 | "version": "4.18.2", 210 | "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", 211 | "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", 212 | "dependencies": { 213 | "accepts": "~1.3.8", 214 | "array-flatten": "1.1.1", 215 | "body-parser": "1.20.1", 216 | "content-disposition": "0.5.4", 217 | "content-type": "~1.0.4", 218 | "cookie": "0.5.0", 219 | "cookie-signature": "1.0.6", 220 | "debug": "2.6.9", 221 | "depd": "2.0.0", 222 | "encodeurl": "~1.0.2", 223 | "escape-html": "~1.0.3", 224 | "etag": "~1.8.1", 225 | "finalhandler": "1.2.0", 226 | "fresh": "0.5.2", 227 | "http-errors": "2.0.0", 228 | "merge-descriptors": "1.0.1", 229 | "methods": "~1.1.2", 230 | "on-finished": "2.4.1", 231 | "parseurl": "~1.3.3", 232 | "path-to-regexp": "0.1.7", 233 | "proxy-addr": "~2.0.7", 234 | "qs": "6.11.0", 235 | "range-parser": "~1.2.1", 236 | "safe-buffer": "5.2.1", 237 | "send": "0.18.0", 238 | "serve-static": "1.15.0", 239 | "setprototypeof": "1.2.0", 240 | "statuses": "2.0.1", 241 | "type-is": "~1.6.18", 242 | "utils-merge": "1.0.1", 243 | "vary": "~1.1.2" 244 | }, 245 | "engines": { 246 | "node": ">= 0.10.0" 247 | } 248 | }, 249 | "node_modules/finalhandler": { 250 | "version": "1.2.0", 251 | "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", 252 | "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", 253 | "dependencies": { 254 | "debug": "2.6.9", 255 | "encodeurl": "~1.0.2", 256 | "escape-html": "~1.0.3", 257 | "on-finished": "2.4.1", 258 | "parseurl": "~1.3.3", 259 | "statuses": "2.0.1", 260 | "unpipe": "~1.0.0" 261 | }, 262 | "engines": { 263 | "node": ">= 0.8" 264 | } 265 | }, 266 | "node_modules/forwarded": { 267 | "version": "0.2.0", 268 | "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", 269 | "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", 270 | "engines": { 271 | "node": ">= 0.6" 272 | } 273 | }, 274 | "node_modules/fresh": { 275 | "version": "0.5.2", 276 | "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", 277 | "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", 278 | "engines": { 279 | "node": ">= 0.6" 280 | } 281 | }, 282 | "node_modules/function-bind": { 283 | "version": "1.1.1", 284 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", 285 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" 286 | }, 287 | "node_modules/get-intrinsic": { 288 | "version": "1.2.1", 289 | "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", 290 | "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", 291 | "dependencies": { 292 | "function-bind": "^1.1.1", 293 | "has": "^1.0.3", 294 | "has-proto": "^1.0.1", 295 | "has-symbols": "^1.0.3" 296 | }, 297 | "funding": { 298 | "url": "https://github.com/sponsors/ljharb" 299 | } 300 | }, 301 | "node_modules/has": { 302 | "version": "1.0.3", 303 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", 304 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", 305 | "dependencies": { 306 | "function-bind": "^1.1.1" 307 | }, 308 | "engines": { 309 | "node": ">= 0.4.0" 310 | } 311 | }, 312 | "node_modules/has-proto": { 313 | "version": "1.0.1", 314 | "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", 315 | "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", 316 | "engines": { 317 | "node": ">= 0.4" 318 | }, 319 | "funding": { 320 | "url": "https://github.com/sponsors/ljharb" 321 | } 322 | }, 323 | "node_modules/has-symbols": { 324 | "version": "1.0.3", 325 | "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", 326 | "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", 327 | "engines": { 328 | "node": ">= 0.4" 329 | }, 330 | "funding": { 331 | "url": "https://github.com/sponsors/ljharb" 332 | } 333 | }, 334 | "node_modules/http-errors": { 335 | "version": "2.0.0", 336 | "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", 337 | "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", 338 | "dependencies": { 339 | "depd": "2.0.0", 340 | "inherits": "2.0.4", 341 | "setprototypeof": "1.2.0", 342 | "statuses": "2.0.1", 343 | "toidentifier": "1.0.1" 344 | }, 345 | "engines": { 346 | "node": ">= 0.8" 347 | } 348 | }, 349 | "node_modules/iconv-lite": { 350 | "version": "0.4.24", 351 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", 352 | "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", 353 | "dependencies": { 354 | "safer-buffer": ">= 2.1.2 < 3" 355 | }, 356 | "engines": { 357 | "node": ">=0.10.0" 358 | } 359 | }, 360 | "node_modules/inherits": { 361 | "version": "2.0.4", 362 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 363 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" 364 | }, 365 | "node_modules/ip": { 366 | "version": "2.0.0", 367 | "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz", 368 | "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==" 369 | }, 370 | "node_modules/ipaddr.js": { 371 | "version": "1.9.1", 372 | "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", 373 | "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", 374 | "engines": { 375 | "node": ">= 0.10" 376 | } 377 | }, 378 | "node_modules/media-typer": { 379 | "version": "0.3.0", 380 | "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", 381 | "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", 382 | "engines": { 383 | "node": ">= 0.6" 384 | } 385 | }, 386 | "node_modules/memory-pager": { 387 | "version": "1.5.0", 388 | "resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz", 389 | "integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==", 390 | "optional": true 391 | }, 392 | "node_modules/merge-descriptors": { 393 | "version": "1.0.1", 394 | "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", 395 | "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" 396 | }, 397 | "node_modules/methods": { 398 | "version": "1.1.2", 399 | "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", 400 | "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", 401 | "engines": { 402 | "node": ">= 0.6" 403 | } 404 | }, 405 | "node_modules/mime": { 406 | "version": "1.6.0", 407 | "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", 408 | "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", 409 | "bin": { 410 | "mime": "cli.js" 411 | }, 412 | "engines": { 413 | "node": ">=4" 414 | } 415 | }, 416 | "node_modules/mime-db": { 417 | "version": "1.52.0", 418 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", 419 | "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", 420 | "engines": { 421 | "node": ">= 0.6" 422 | } 423 | }, 424 | "node_modules/mime-types": { 425 | "version": "2.1.35", 426 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", 427 | "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", 428 | "dependencies": { 429 | "mime-db": "1.52.0" 430 | }, 431 | "engines": { 432 | "node": ">= 0.6" 433 | } 434 | }, 435 | "node_modules/mongodb": { 436 | "version": "5.5.0", 437 | "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-5.5.0.tgz", 438 | "integrity": "sha512-XgrkUgAAdfnZKQfk5AsYL8j7O99WHd4YXPxYxnh8dZxD+ekYWFRA3JktUsBnfg+455Smf75/+asoU/YLwNGoQQ==", 439 | "dependencies": { 440 | "bson": "^5.3.0", 441 | "mongodb-connection-string-url": "^2.6.0", 442 | "socks": "^2.7.1" 443 | }, 444 | "engines": { 445 | "node": ">=14.20.1" 446 | }, 447 | "optionalDependencies": { 448 | "saslprep": "^1.0.3" 449 | }, 450 | "peerDependencies": { 451 | "@aws-sdk/credential-providers": "^3.201.0", 452 | "mongodb-client-encryption": ">=2.3.0 <3", 453 | "snappy": "^7.2.2" 454 | }, 455 | "peerDependenciesMeta": { 456 | "@aws-sdk/credential-providers": { 457 | "optional": true 458 | }, 459 | "mongodb-client-encryption": { 460 | "optional": true 461 | }, 462 | "snappy": { 463 | "optional": true 464 | } 465 | } 466 | }, 467 | "node_modules/mongodb-connection-string-url": { 468 | "version": "2.6.0", 469 | "resolved": "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-2.6.0.tgz", 470 | "integrity": "sha512-WvTZlI9ab0QYtTYnuMLgobULWhokRjtC7db9LtcVfJ+Hsnyr5eo6ZtNAt3Ly24XZScGMelOcGtm7lSn0332tPQ==", 471 | "dependencies": { 472 | "@types/whatwg-url": "^8.2.1", 473 | "whatwg-url": "^11.0.0" 474 | } 475 | }, 476 | "node_modules/ms": { 477 | "version": "2.0.0", 478 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 479 | "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" 480 | }, 481 | "node_modules/negotiator": { 482 | "version": "0.6.3", 483 | "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", 484 | "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", 485 | "engines": { 486 | "node": ">= 0.6" 487 | } 488 | }, 489 | "node_modules/object-assign": { 490 | "version": "4.1.1", 491 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", 492 | "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", 493 | "engines": { 494 | "node": ">=0.10.0" 495 | } 496 | }, 497 | "node_modules/object-inspect": { 498 | "version": "1.12.3", 499 | "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", 500 | "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", 501 | "funding": { 502 | "url": "https://github.com/sponsors/ljharb" 503 | } 504 | }, 505 | "node_modules/on-finished": { 506 | "version": "2.4.1", 507 | "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", 508 | "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", 509 | "dependencies": { 510 | "ee-first": "1.1.1" 511 | }, 512 | "engines": { 513 | "node": ">= 0.8" 514 | } 515 | }, 516 | "node_modules/parseurl": { 517 | "version": "1.3.3", 518 | "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", 519 | "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", 520 | "engines": { 521 | "node": ">= 0.8" 522 | } 523 | }, 524 | "node_modules/path-to-regexp": { 525 | "version": "0.1.7", 526 | "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", 527 | "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" 528 | }, 529 | "node_modules/proxy-addr": { 530 | "version": "2.0.7", 531 | "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", 532 | "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", 533 | "dependencies": { 534 | "forwarded": "0.2.0", 535 | "ipaddr.js": "1.9.1" 536 | }, 537 | "engines": { 538 | "node": ">= 0.10" 539 | } 540 | }, 541 | "node_modules/punycode": { 542 | "version": "2.3.0", 543 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", 544 | "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", 545 | "engines": { 546 | "node": ">=6" 547 | } 548 | }, 549 | "node_modules/qs": { 550 | "version": "6.11.0", 551 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", 552 | "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", 553 | "dependencies": { 554 | "side-channel": "^1.0.4" 555 | }, 556 | "engines": { 557 | "node": ">=0.6" 558 | }, 559 | "funding": { 560 | "url": "https://github.com/sponsors/ljharb" 561 | } 562 | }, 563 | "node_modules/range-parser": { 564 | "version": "1.2.1", 565 | "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", 566 | "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", 567 | "engines": { 568 | "node": ">= 0.6" 569 | } 570 | }, 571 | "node_modules/raw-body": { 572 | "version": "2.5.1", 573 | "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", 574 | "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", 575 | "dependencies": { 576 | "bytes": "3.1.2", 577 | "http-errors": "2.0.0", 578 | "iconv-lite": "0.4.24", 579 | "unpipe": "1.0.0" 580 | }, 581 | "engines": { 582 | "node": ">= 0.8" 583 | } 584 | }, 585 | "node_modules/safe-buffer": { 586 | "version": "5.2.1", 587 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", 588 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", 589 | "funding": [ 590 | { 591 | "type": "github", 592 | "url": "https://github.com/sponsors/feross" 593 | }, 594 | { 595 | "type": "patreon", 596 | "url": "https://www.patreon.com/feross" 597 | }, 598 | { 599 | "type": "consulting", 600 | "url": "https://feross.org/support" 601 | } 602 | ] 603 | }, 604 | "node_modules/safer-buffer": { 605 | "version": "2.1.2", 606 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", 607 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" 608 | }, 609 | "node_modules/saslprep": { 610 | "version": "1.0.3", 611 | "resolved": "https://registry.npmjs.org/saslprep/-/saslprep-1.0.3.tgz", 612 | "integrity": "sha512-/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag==", 613 | "optional": true, 614 | "dependencies": { 615 | "sparse-bitfield": "^3.0.3" 616 | }, 617 | "engines": { 618 | "node": ">=6" 619 | } 620 | }, 621 | "node_modules/send": { 622 | "version": "0.18.0", 623 | "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", 624 | "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", 625 | "dependencies": { 626 | "debug": "2.6.9", 627 | "depd": "2.0.0", 628 | "destroy": "1.2.0", 629 | "encodeurl": "~1.0.2", 630 | "escape-html": "~1.0.3", 631 | "etag": "~1.8.1", 632 | "fresh": "0.5.2", 633 | "http-errors": "2.0.0", 634 | "mime": "1.6.0", 635 | "ms": "2.1.3", 636 | "on-finished": "2.4.1", 637 | "range-parser": "~1.2.1", 638 | "statuses": "2.0.1" 639 | }, 640 | "engines": { 641 | "node": ">= 0.8.0" 642 | } 643 | }, 644 | "node_modules/send/node_modules/ms": { 645 | "version": "2.1.3", 646 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", 647 | "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" 648 | }, 649 | "node_modules/serve-static": { 650 | "version": "1.15.0", 651 | "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", 652 | "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", 653 | "dependencies": { 654 | "encodeurl": "~1.0.2", 655 | "escape-html": "~1.0.3", 656 | "parseurl": "~1.3.3", 657 | "send": "0.18.0" 658 | }, 659 | "engines": { 660 | "node": ">= 0.8.0" 661 | } 662 | }, 663 | "node_modules/setprototypeof": { 664 | "version": "1.2.0", 665 | "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", 666 | "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" 667 | }, 668 | "node_modules/side-channel": { 669 | "version": "1.0.4", 670 | "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", 671 | "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", 672 | "dependencies": { 673 | "call-bind": "^1.0.0", 674 | "get-intrinsic": "^1.0.2", 675 | "object-inspect": "^1.9.0" 676 | }, 677 | "funding": { 678 | "url": "https://github.com/sponsors/ljharb" 679 | } 680 | }, 681 | "node_modules/smart-buffer": { 682 | "version": "4.2.0", 683 | "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", 684 | "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", 685 | "engines": { 686 | "node": ">= 6.0.0", 687 | "npm": ">= 3.0.0" 688 | } 689 | }, 690 | "node_modules/socks": { 691 | "version": "2.7.1", 692 | "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz", 693 | "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==", 694 | "dependencies": { 695 | "ip": "^2.0.0", 696 | "smart-buffer": "^4.2.0" 697 | }, 698 | "engines": { 699 | "node": ">= 10.13.0", 700 | "npm": ">= 3.0.0" 701 | } 702 | }, 703 | "node_modules/sparse-bitfield": { 704 | "version": "3.0.3", 705 | "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz", 706 | "integrity": "sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ==", 707 | "optional": true, 708 | "dependencies": { 709 | "memory-pager": "^1.0.2" 710 | } 711 | }, 712 | "node_modules/statuses": { 713 | "version": "2.0.1", 714 | "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", 715 | "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", 716 | "engines": { 717 | "node": ">= 0.8" 718 | } 719 | }, 720 | "node_modules/toidentifier": { 721 | "version": "1.0.1", 722 | "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", 723 | "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", 724 | "engines": { 725 | "node": ">=0.6" 726 | } 727 | }, 728 | "node_modules/tr46": { 729 | "version": "3.0.0", 730 | "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", 731 | "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", 732 | "dependencies": { 733 | "punycode": "^2.1.1" 734 | }, 735 | "engines": { 736 | "node": ">=12" 737 | } 738 | }, 739 | "node_modules/type-is": { 740 | "version": "1.6.18", 741 | "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", 742 | "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", 743 | "dependencies": { 744 | "media-typer": "0.3.0", 745 | "mime-types": "~2.1.24" 746 | }, 747 | "engines": { 748 | "node": ">= 0.6" 749 | } 750 | }, 751 | "node_modules/unpipe": { 752 | "version": "1.0.0", 753 | "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", 754 | "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", 755 | "engines": { 756 | "node": ">= 0.8" 757 | } 758 | }, 759 | "node_modules/utils-merge": { 760 | "version": "1.0.1", 761 | "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", 762 | "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", 763 | "engines": { 764 | "node": ">= 0.4.0" 765 | } 766 | }, 767 | "node_modules/vary": { 768 | "version": "1.1.2", 769 | "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", 770 | "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", 771 | "engines": { 772 | "node": ">= 0.8" 773 | } 774 | }, 775 | "node_modules/webidl-conversions": { 776 | "version": "7.0.0", 777 | "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", 778 | "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", 779 | "engines": { 780 | "node": ">=12" 781 | } 782 | }, 783 | "node_modules/whatwg-url": { 784 | "version": "11.0.0", 785 | "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", 786 | "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", 787 | "dependencies": { 788 | "tr46": "^3.0.0", 789 | "webidl-conversions": "^7.0.0" 790 | }, 791 | "engines": { 792 | "node": ">=12" 793 | } 794 | } 795 | }, 796 | "dependencies": { 797 | "@types/node": { 798 | "version": "20.2.3", 799 | "resolved": "https://registry.npmjs.org/@types/node/-/node-20.2.3.tgz", 800 | "integrity": "sha512-pg9d0yC4rVNWQzX8U7xb4olIOFuuVL9za3bzMT2pu2SU0SNEi66i2qrvhE2qt0HvkhuCaWJu7pLNOt/Pj8BIrw==" 801 | }, 802 | "@types/webidl-conversions": { 803 | "version": "7.0.0", 804 | "resolved": "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-7.0.0.tgz", 805 | "integrity": "sha512-xTE1E+YF4aWPJJeUzaZI5DRntlkY3+BCVJi0axFptnjGmAoWxkyREIh/XMrfxVLejwQxMCfDXdICo0VLxThrog==" 806 | }, 807 | "@types/whatwg-url": { 808 | "version": "8.2.2", 809 | "resolved": "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-8.2.2.tgz", 810 | "integrity": "sha512-FtQu10RWgn3D9U4aazdwIE2yzphmTJREDqNdODHrbrZmmMqI0vMheC/6NE/J1Yveaj8H+ela+YwWTjq5PGmuhA==", 811 | "requires": { 812 | "@types/node": "*", 813 | "@types/webidl-conversions": "*" 814 | } 815 | }, 816 | "accepts": { 817 | "version": "1.3.8", 818 | "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", 819 | "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", 820 | "requires": { 821 | "mime-types": "~2.1.34", 822 | "negotiator": "0.6.3" 823 | } 824 | }, 825 | "array-flatten": { 826 | "version": "1.1.1", 827 | "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", 828 | "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" 829 | }, 830 | "body-parser": { 831 | "version": "1.20.1", 832 | "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", 833 | "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", 834 | "requires": { 835 | "bytes": "3.1.2", 836 | "content-type": "~1.0.4", 837 | "debug": "2.6.9", 838 | "depd": "2.0.0", 839 | "destroy": "1.2.0", 840 | "http-errors": "2.0.0", 841 | "iconv-lite": "0.4.24", 842 | "on-finished": "2.4.1", 843 | "qs": "6.11.0", 844 | "raw-body": "2.5.1", 845 | "type-is": "~1.6.18", 846 | "unpipe": "1.0.0" 847 | } 848 | }, 849 | "bson": { 850 | "version": "5.3.0", 851 | "resolved": "https://registry.npmjs.org/bson/-/bson-5.3.0.tgz", 852 | "integrity": "sha512-ukmCZMneMlaC5ebPHXIkP8YJzNl5DC41N5MAIvKDqLggdao342t4McltoJBQfQya/nHBWAcSsYRqlXPoQkTJag==" 853 | }, 854 | "bytes": { 855 | "version": "3.1.2", 856 | "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", 857 | "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" 858 | }, 859 | "call-bind": { 860 | "version": "1.0.2", 861 | "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", 862 | "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", 863 | "requires": { 864 | "function-bind": "^1.1.1", 865 | "get-intrinsic": "^1.0.2" 866 | } 867 | }, 868 | "content-disposition": { 869 | "version": "0.5.4", 870 | "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", 871 | "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", 872 | "requires": { 873 | "safe-buffer": "5.2.1" 874 | } 875 | }, 876 | "content-type": { 877 | "version": "1.0.5", 878 | "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", 879 | "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==" 880 | }, 881 | "cookie": { 882 | "version": "0.5.0", 883 | "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", 884 | "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==" 885 | }, 886 | "cookie-signature": { 887 | "version": "1.0.6", 888 | "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", 889 | "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" 890 | }, 891 | "cors": { 892 | "version": "2.8.5", 893 | "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", 894 | "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", 895 | "requires": { 896 | "object-assign": "^4", 897 | "vary": "^1" 898 | } 899 | }, 900 | "debug": { 901 | "version": "2.6.9", 902 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 903 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 904 | "requires": { 905 | "ms": "2.0.0" 906 | } 907 | }, 908 | "depd": { 909 | "version": "2.0.0", 910 | "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", 911 | "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" 912 | }, 913 | "destroy": { 914 | "version": "1.2.0", 915 | "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", 916 | "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==" 917 | }, 918 | "dotenv": { 919 | "version": "16.0.3", 920 | "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz", 921 | "integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==" 922 | }, 923 | "ee-first": { 924 | "version": "1.1.1", 925 | "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", 926 | "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" 927 | }, 928 | "encodeurl": { 929 | "version": "1.0.2", 930 | "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", 931 | "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==" 932 | }, 933 | "escape-html": { 934 | "version": "1.0.3", 935 | "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", 936 | "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" 937 | }, 938 | "etag": { 939 | "version": "1.8.1", 940 | "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", 941 | "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==" 942 | }, 943 | "express": { 944 | "version": "4.18.2", 945 | "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", 946 | "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", 947 | "requires": { 948 | "accepts": "~1.3.8", 949 | "array-flatten": "1.1.1", 950 | "body-parser": "1.20.1", 951 | "content-disposition": "0.5.4", 952 | "content-type": "~1.0.4", 953 | "cookie": "0.5.0", 954 | "cookie-signature": "1.0.6", 955 | "debug": "2.6.9", 956 | "depd": "2.0.0", 957 | "encodeurl": "~1.0.2", 958 | "escape-html": "~1.0.3", 959 | "etag": "~1.8.1", 960 | "finalhandler": "1.2.0", 961 | "fresh": "0.5.2", 962 | "http-errors": "2.0.0", 963 | "merge-descriptors": "1.0.1", 964 | "methods": "~1.1.2", 965 | "on-finished": "2.4.1", 966 | "parseurl": "~1.3.3", 967 | "path-to-regexp": "0.1.7", 968 | "proxy-addr": "~2.0.7", 969 | "qs": "6.11.0", 970 | "range-parser": "~1.2.1", 971 | "safe-buffer": "5.2.1", 972 | "send": "0.18.0", 973 | "serve-static": "1.15.0", 974 | "setprototypeof": "1.2.0", 975 | "statuses": "2.0.1", 976 | "type-is": "~1.6.18", 977 | "utils-merge": "1.0.1", 978 | "vary": "~1.1.2" 979 | } 980 | }, 981 | "finalhandler": { 982 | "version": "1.2.0", 983 | "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", 984 | "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", 985 | "requires": { 986 | "debug": "2.6.9", 987 | "encodeurl": "~1.0.2", 988 | "escape-html": "~1.0.3", 989 | "on-finished": "2.4.1", 990 | "parseurl": "~1.3.3", 991 | "statuses": "2.0.1", 992 | "unpipe": "~1.0.0" 993 | } 994 | }, 995 | "forwarded": { 996 | "version": "0.2.0", 997 | "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", 998 | "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==" 999 | }, 1000 | "fresh": { 1001 | "version": "0.5.2", 1002 | "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", 1003 | "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==" 1004 | }, 1005 | "function-bind": { 1006 | "version": "1.1.1", 1007 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", 1008 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" 1009 | }, 1010 | "get-intrinsic": { 1011 | "version": "1.2.1", 1012 | "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", 1013 | "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", 1014 | "requires": { 1015 | "function-bind": "^1.1.1", 1016 | "has": "^1.0.3", 1017 | "has-proto": "^1.0.1", 1018 | "has-symbols": "^1.0.3" 1019 | } 1020 | }, 1021 | "has": { 1022 | "version": "1.0.3", 1023 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", 1024 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", 1025 | "requires": { 1026 | "function-bind": "^1.1.1" 1027 | } 1028 | }, 1029 | "has-proto": { 1030 | "version": "1.0.1", 1031 | "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", 1032 | "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==" 1033 | }, 1034 | "has-symbols": { 1035 | "version": "1.0.3", 1036 | "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", 1037 | "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" 1038 | }, 1039 | "http-errors": { 1040 | "version": "2.0.0", 1041 | "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", 1042 | "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", 1043 | "requires": { 1044 | "depd": "2.0.0", 1045 | "inherits": "2.0.4", 1046 | "setprototypeof": "1.2.0", 1047 | "statuses": "2.0.1", 1048 | "toidentifier": "1.0.1" 1049 | } 1050 | }, 1051 | "iconv-lite": { 1052 | "version": "0.4.24", 1053 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", 1054 | "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", 1055 | "requires": { 1056 | "safer-buffer": ">= 2.1.2 < 3" 1057 | } 1058 | }, 1059 | "inherits": { 1060 | "version": "2.0.4", 1061 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 1062 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" 1063 | }, 1064 | "ip": { 1065 | "version": "2.0.0", 1066 | "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz", 1067 | "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==" 1068 | }, 1069 | "ipaddr.js": { 1070 | "version": "1.9.1", 1071 | "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", 1072 | "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" 1073 | }, 1074 | "media-typer": { 1075 | "version": "0.3.0", 1076 | "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", 1077 | "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==" 1078 | }, 1079 | "memory-pager": { 1080 | "version": "1.5.0", 1081 | "resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz", 1082 | "integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==", 1083 | "optional": true 1084 | }, 1085 | "merge-descriptors": { 1086 | "version": "1.0.1", 1087 | "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", 1088 | "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" 1089 | }, 1090 | "methods": { 1091 | "version": "1.1.2", 1092 | "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", 1093 | "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==" 1094 | }, 1095 | "mime": { 1096 | "version": "1.6.0", 1097 | "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", 1098 | "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" 1099 | }, 1100 | "mime-db": { 1101 | "version": "1.52.0", 1102 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", 1103 | "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" 1104 | }, 1105 | "mime-types": { 1106 | "version": "2.1.35", 1107 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", 1108 | "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", 1109 | "requires": { 1110 | "mime-db": "1.52.0" 1111 | } 1112 | }, 1113 | "mongodb": { 1114 | "version": "5.5.0", 1115 | "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-5.5.0.tgz", 1116 | "integrity": "sha512-XgrkUgAAdfnZKQfk5AsYL8j7O99WHd4YXPxYxnh8dZxD+ekYWFRA3JktUsBnfg+455Smf75/+asoU/YLwNGoQQ==", 1117 | "requires": { 1118 | "bson": "^5.3.0", 1119 | "mongodb-connection-string-url": "^2.6.0", 1120 | "saslprep": "^1.0.3", 1121 | "socks": "^2.7.1" 1122 | } 1123 | }, 1124 | "mongodb-connection-string-url": { 1125 | "version": "2.6.0", 1126 | "resolved": "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-2.6.0.tgz", 1127 | "integrity": "sha512-WvTZlI9ab0QYtTYnuMLgobULWhokRjtC7db9LtcVfJ+Hsnyr5eo6ZtNAt3Ly24XZScGMelOcGtm7lSn0332tPQ==", 1128 | "requires": { 1129 | "@types/whatwg-url": "^8.2.1", 1130 | "whatwg-url": "^11.0.0" 1131 | } 1132 | }, 1133 | "ms": { 1134 | "version": "2.0.0", 1135 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 1136 | "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" 1137 | }, 1138 | "negotiator": { 1139 | "version": "0.6.3", 1140 | "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", 1141 | "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==" 1142 | }, 1143 | "object-assign": { 1144 | "version": "4.1.1", 1145 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", 1146 | "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" 1147 | }, 1148 | "object-inspect": { 1149 | "version": "1.12.3", 1150 | "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", 1151 | "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==" 1152 | }, 1153 | "on-finished": { 1154 | "version": "2.4.1", 1155 | "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", 1156 | "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", 1157 | "requires": { 1158 | "ee-first": "1.1.1" 1159 | } 1160 | }, 1161 | "parseurl": { 1162 | "version": "1.3.3", 1163 | "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", 1164 | "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" 1165 | }, 1166 | "path-to-regexp": { 1167 | "version": "0.1.7", 1168 | "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", 1169 | "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" 1170 | }, 1171 | "proxy-addr": { 1172 | "version": "2.0.7", 1173 | "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", 1174 | "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", 1175 | "requires": { 1176 | "forwarded": "0.2.0", 1177 | "ipaddr.js": "1.9.1" 1178 | } 1179 | }, 1180 | "punycode": { 1181 | "version": "2.3.0", 1182 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", 1183 | "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==" 1184 | }, 1185 | "qs": { 1186 | "version": "6.11.0", 1187 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", 1188 | "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", 1189 | "requires": { 1190 | "side-channel": "^1.0.4" 1191 | } 1192 | }, 1193 | "range-parser": { 1194 | "version": "1.2.1", 1195 | "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", 1196 | "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" 1197 | }, 1198 | "raw-body": { 1199 | "version": "2.5.1", 1200 | "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", 1201 | "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", 1202 | "requires": { 1203 | "bytes": "3.1.2", 1204 | "http-errors": "2.0.0", 1205 | "iconv-lite": "0.4.24", 1206 | "unpipe": "1.0.0" 1207 | } 1208 | }, 1209 | "safe-buffer": { 1210 | "version": "5.2.1", 1211 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", 1212 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" 1213 | }, 1214 | "safer-buffer": { 1215 | "version": "2.1.2", 1216 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", 1217 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" 1218 | }, 1219 | "saslprep": { 1220 | "version": "1.0.3", 1221 | "resolved": "https://registry.npmjs.org/saslprep/-/saslprep-1.0.3.tgz", 1222 | "integrity": "sha512-/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag==", 1223 | "optional": true, 1224 | "requires": { 1225 | "sparse-bitfield": "^3.0.3" 1226 | } 1227 | }, 1228 | "send": { 1229 | "version": "0.18.0", 1230 | "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", 1231 | "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", 1232 | "requires": { 1233 | "debug": "2.6.9", 1234 | "depd": "2.0.0", 1235 | "destroy": "1.2.0", 1236 | "encodeurl": "~1.0.2", 1237 | "escape-html": "~1.0.3", 1238 | "etag": "~1.8.1", 1239 | "fresh": "0.5.2", 1240 | "http-errors": "2.0.0", 1241 | "mime": "1.6.0", 1242 | "ms": "2.1.3", 1243 | "on-finished": "2.4.1", 1244 | "range-parser": "~1.2.1", 1245 | "statuses": "2.0.1" 1246 | }, 1247 | "dependencies": { 1248 | "ms": { 1249 | "version": "2.1.3", 1250 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", 1251 | "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" 1252 | } 1253 | } 1254 | }, 1255 | "serve-static": { 1256 | "version": "1.15.0", 1257 | "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", 1258 | "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", 1259 | "requires": { 1260 | "encodeurl": "~1.0.2", 1261 | "escape-html": "~1.0.3", 1262 | "parseurl": "~1.3.3", 1263 | "send": "0.18.0" 1264 | } 1265 | }, 1266 | "setprototypeof": { 1267 | "version": "1.2.0", 1268 | "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", 1269 | "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" 1270 | }, 1271 | "side-channel": { 1272 | "version": "1.0.4", 1273 | "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", 1274 | "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", 1275 | "requires": { 1276 | "call-bind": "^1.0.0", 1277 | "get-intrinsic": "^1.0.2", 1278 | "object-inspect": "^1.9.0" 1279 | } 1280 | }, 1281 | "smart-buffer": { 1282 | "version": "4.2.0", 1283 | "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", 1284 | "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==" 1285 | }, 1286 | "socks": { 1287 | "version": "2.7.1", 1288 | "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz", 1289 | "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==", 1290 | "requires": { 1291 | "ip": "^2.0.0", 1292 | "smart-buffer": "^4.2.0" 1293 | } 1294 | }, 1295 | "sparse-bitfield": { 1296 | "version": "3.0.3", 1297 | "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz", 1298 | "integrity": "sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ==", 1299 | "optional": true, 1300 | "requires": { 1301 | "memory-pager": "^1.0.2" 1302 | } 1303 | }, 1304 | "statuses": { 1305 | "version": "2.0.1", 1306 | "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", 1307 | "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" 1308 | }, 1309 | "toidentifier": { 1310 | "version": "1.0.1", 1311 | "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", 1312 | "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" 1313 | }, 1314 | "tr46": { 1315 | "version": "3.0.0", 1316 | "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", 1317 | "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", 1318 | "requires": { 1319 | "punycode": "^2.1.1" 1320 | } 1321 | }, 1322 | "type-is": { 1323 | "version": "1.6.18", 1324 | "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", 1325 | "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", 1326 | "requires": { 1327 | "media-typer": "0.3.0", 1328 | "mime-types": "~2.1.24" 1329 | } 1330 | }, 1331 | "unpipe": { 1332 | "version": "1.0.0", 1333 | "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", 1334 | "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==" 1335 | }, 1336 | "utils-merge": { 1337 | "version": "1.0.1", 1338 | "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", 1339 | "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==" 1340 | }, 1341 | "vary": { 1342 | "version": "1.1.2", 1343 | "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", 1344 | "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==" 1345 | }, 1346 | "webidl-conversions": { 1347 | "version": "7.0.0", 1348 | "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", 1349 | "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==" 1350 | }, 1351 | "whatwg-url": { 1352 | "version": "11.0.0", 1353 | "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", 1354 | "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", 1355 | "requires": { 1356 | "tr46": "^3.0.0", 1357 | "webidl-conversions": "^7.0.0" 1358 | } 1359 | } 1360 | } 1361 | } 1362 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bistro-boss-server", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "keywords": [], 10 | "author": "", 11 | "license": "ISC", 12 | "dependencies": { 13 | "cors": "^2.8.5", 14 | "dotenv": "^16.0.3", 15 | "express": "^4.18.2", 16 | "mongodb": "^5.5.0" 17 | } 18 | } 19 | --------------------------------------------------------------------------------