Fixing deprecated DB calls
							parent
							
								
									1d0b0ac5f0
								
							
						
					
					
						commit
						1584a2a173
					
				
							
								
								
									
										2
									
								
								app.js
								
								
								
								
							
							
						
						
									
										2
									
								
								app.js
								
								
								
								
							|  | @ -356,7 +356,7 @@ initDb(config.databaseConnectionString, async (err, db) => { | |||
|         }); | ||||
| 
 | ||||
|         // Remove any invalid cart holds
 | ||||
|         await db.cart.remove({ | ||||
|         await db.cart.deleteMany({ | ||||
|             sessionId: { $nin: validSessionIds } | ||||
|         }); | ||||
|     }); | ||||
|  |  | |||
|  | @ -500,7 +500,7 @@ const getData = (req, page, query) => { | |||
|     // Run our queries
 | ||||
|     return Promise.all([ | ||||
|         db.products.find(query).skip(skip).limit(parseInt(numberProducts)).toArray(), | ||||
|         db.products.count(query) | ||||
|         db.products.countDocuments(query) | ||||
|     ]) | ||||
|     .then((result) => { | ||||
|         const returnData = { data: result[0], totalProducts: result[1] }; | ||||
|  |  | |||
|  | @ -12,10 +12,10 @@ const config = getConfig(); | |||
| 
 | ||||
| initDb(config.databaseConnectionString, (err, db) => { | ||||
|     Promise.all([ | ||||
|         db.users.remove({}, {}), | ||||
|         db.customers.remove({}, {}), | ||||
|         db.products.remove({}, {}), | ||||
|         db.menu.remove({}, {}) | ||||
|         db.users.deleteMany({}, {}), | ||||
|         db.customers.deleteMany({}, {}), | ||||
|         db.products.deleteMany({}, {}), | ||||
|         db.menu.deleteMany({}, {}) | ||||
|     ]) | ||||
|     .then(() => { | ||||
|         Promise.all([ | ||||
|  |  | |||
|  | @ -29,7 +29,7 @@ router.get('/admin/logout', (req, res) => { | |||
| router.get('/admin/login', async (req, res) => { | ||||
|     const db = req.app.db; | ||||
| 
 | ||||
|     const userCount = await db.users.count({}); | ||||
|     const userCount = await db.users.countDocuments({}); | ||||
|     // we check for a user. If one exists, redirect to login form otherwise setup
 | ||||
|     if(userCount && userCount > 0){ | ||||
|         // set needsSetup to false as a user exists
 | ||||
|  | @ -80,7 +80,7 @@ router.post('/admin/login_action', async (req, res) => { | |||
| router.get('/admin/setup', async (req, res) => { | ||||
|     const db = req.app.db; | ||||
| 
 | ||||
|     const userCount = await db.users.count({}); | ||||
|     const userCount = await db.users.countDocuments({}); | ||||
|     // dont allow the user to "re-setup" if a user exists.
 | ||||
|     // set needsSetup to false as a user exists
 | ||||
|     req.session.needsSetup = false; | ||||
|  | @ -111,11 +111,11 @@ router.post('/admin/setup_action', async (req, res) => { | |||
|     }; | ||||
| 
 | ||||
|     // check for users
 | ||||
|     const userCount = await db.users.count({}); | ||||
|     const userCount = await db.users.countDocuments({}); | ||||
|     if(userCount && userCount === 0){ | ||||
|         // email is ok to be used.
 | ||||
|         try{ | ||||
|             await db.users.insert(doc); | ||||
|             await db.users.insertOne(doc); | ||||
|             req.session.message = 'User account inserted'; | ||||
|             req.session.messageType = 'success'; | ||||
|             res.redirect('/admin/login'); | ||||
|  | @ -279,7 +279,7 @@ router.post('/admin/settings/pages/update', restrict, checkAccess, async (req, r | |||
|         } | ||||
| 
 | ||||
|         try{ | ||||
|             await db.pages.update({ _id: common.getId(req.body.page_id) }, { $set: doc }, {}); | ||||
|             await db.pages.updateOne({ _id: common.getId(req.body.page_id) }, { $set: doc }, {}); | ||||
|             res.status(200).json({ message: 'Page updated successfully', page_id: req.body.page_id }); | ||||
|         }catch(ex){ | ||||
|             res.status(400).json({ message: 'Error updating page. Please try again.' }); | ||||
|  | @ -287,7 +287,7 @@ router.post('/admin/settings/pages/update', restrict, checkAccess, async (req, r | |||
|     }else{ | ||||
|         // insert page
 | ||||
|         try{ | ||||
|             const newDoc = await db.pages.insert(doc); | ||||
|             const newDoc = await db.pages.insertOne(doc); | ||||
|             res.status(200).json({ message: 'New page successfully created', page_id: newDoc._id }); | ||||
|             return; | ||||
|         }catch(ex){ | ||||
|  | @ -300,7 +300,7 @@ router.post('/admin/settings/pages/update', restrict, checkAccess, async (req, r | |||
| router.get('/admin/settings/pages/delete/:page', restrict, checkAccess, async (req, res) => { | ||||
|     const db = req.app.db; | ||||
|     try{ | ||||
|         await db.pages.remove({ _id: common.getId(req.params.page) }, {}); | ||||
|         await db.pages.deleteOne({ _id: common.getId(req.params.page) }, {}); | ||||
|         req.session.message = 'Page successfully deleted'; | ||||
|         req.session.messageType = 'success'; | ||||
|         res.redirect('/admin/settings/pages'); | ||||
|  | @ -365,7 +365,7 @@ router.post('/admin/api/validate_permalink', async (req, res) => { | |||
|         query = { productPermalink: req.body.permalink, _id: { $ne: common.getId(req.body.docId) } }; | ||||
|     } | ||||
| 
 | ||||
|     const products = await db.products.count(query); | ||||
|     const products = await db.products.countDocuments(query); | ||||
|     if(products && products > 0){ | ||||
|         res.status(400).json({ message: 'Permalink already exists' }); | ||||
|         return; | ||||
|  | @ -429,7 +429,7 @@ router.post('/admin/file/upload', restrict, checkAccess, upload.single('upload_f | |||
| 
 | ||||
|         // if there isn't a product featured image, set this one
 | ||||
|         if(!product.productImage){ | ||||
|             await db.products.update({ _id: common.getId(req.body.productId) }, { $set: { productImage: imagePath } }, { multi: false }); | ||||
|             await db.products.updateOne({ _id: common.getId(req.body.productId) }, { $set: { productImage: imagePath } }, { multi: false }); | ||||
|             req.session.message = 'File uploaded successfully'; | ||||
|             req.session.messageType = 'success'; | ||||
|             res.redirect('/admin/product/edit/' + req.body.productId); | ||||
|  |  | |||
|  | @ -216,7 +216,7 @@ router.post('/customer/forgotten_action', (req, res) => { | |||
|         // if we have a customer, set a token, expiry and email it
 | ||||
|         if(customer){ | ||||
|             const tokenExpiry = Date.now() + 3600000; | ||||
|             db.customers.update({ email: req.body.email }, { $set: { resetToken: passwordToken, resetTokenExpiry: tokenExpiry } }, { multi: false }, (err, numReplaced) => { | ||||
|             db.customers.updateOne({ email: req.body.email }, { $set: { resetToken: passwordToken, resetTokenExpiry: tokenExpiry } }, { multi: false }, (err, numReplaced) => { | ||||
|                 // send forgotten password email
 | ||||
|                 const mailOpts = { | ||||
|                     to: req.body.email, | ||||
|  | @ -282,7 +282,7 @@ router.post('/customer/reset/:token', (req, res) => { | |||
| 
 | ||||
|         // update the password and remove the token
 | ||||
|         const newPassword = bcrypt.hashSync(req.body.password, 10); | ||||
|         db.customers.update({ email: customer.email }, { $set: { password: newPassword, resetToken: undefined, resetTokenExpiry: undefined } }, { multi: false }, (err, numReplaced) => { | ||||
|         db.customers.updateOne({ email: customer.email }, { $set: { password: newPassword, resetToken: undefined, resetTokenExpiry: undefined } }, { multi: false }, (err, numReplaced) => { | ||||
|             const mailOpts = { | ||||
|                 to: customer.email, | ||||
|                 subject: 'Password successfully reset', | ||||
|  |  | |||
|  | @ -39,7 +39,7 @@ router.get('/payment/:orderId', async (req, res, next) => { | |||
|             } | ||||
| 
 | ||||
|             // Update product stock
 | ||||
|             await db.products.update({ | ||||
|             await db.products.updateOne({ | ||||
|                 _id: getId(product.productId) | ||||
|             }, { | ||||
|                 $set: { | ||||
|  | @ -221,7 +221,7 @@ router.post('/product/updatecart', (req, res, next) => { | |||
|         updateTotalCartAmount(req, res); | ||||
| 
 | ||||
|         // Update cart to the DB
 | ||||
|         await db.cart.update({ sessionId: req.session.id }, { | ||||
|         await db.cart.updateOne({ sessionId: req.session.id }, { | ||||
|             $set: { cart: req.session.cart } | ||||
|         }); | ||||
| 
 | ||||
|  | @ -254,7 +254,7 @@ router.post('/product/removefromcart', (req, res, next) => { | |||
|         callback(); | ||||
|     }, async () => { | ||||
|         // Update cart in DB
 | ||||
|         await db.cart.update({ sessionId: req.session.id }, { | ||||
|         await db.cart.updateOne({ sessionId: req.session.id }, { | ||||
|             $set: { cart: req.session.cart } | ||||
|         }); | ||||
|         // update total cart amount
 | ||||
|  | @ -276,7 +276,7 @@ router.post('/product/emptycart', async (req, res, next) => { | |||
|     delete req.session.orderId; | ||||
| 
 | ||||
|     // Remove cart from DB
 | ||||
|     await db.cart.removeOne({ sessionId: req.session.id }); | ||||
|     await db.cart.deleteOne({ sessionId: req.session.id }); | ||||
| 
 | ||||
|     // update total cart amount
 | ||||
|     updateTotalCartAmount(req, res); | ||||
|  | @ -387,7 +387,7 @@ router.post('/product/addtocart', async (req, res, next) => { | |||
|     } | ||||
| 
 | ||||
|     // Update cart to the DB
 | ||||
|     await db.cart.update({ sessionId: req.session.id }, { | ||||
|     await db.cart.updateOne({ sessionId: req.session.id }, { | ||||
|         $set: { cart: req.session.cart } | ||||
|     }, { upsert: true }); | ||||
| 
 | ||||
|  |  | |||
|  | @ -136,7 +136,7 @@ router.get('/admin/order/delete/:id', restrict, (req, res) => { | |||
|     const db = req.app.db; | ||||
| 
 | ||||
|     // remove the order
 | ||||
|     db.orders.remove({ _id: common.getId(req.params.id) }, {}, (err, numRemoved) => { | ||||
|     db.orders.deleteOne({ _id: common.getId(req.params.id) }, {}, (err, numRemoved) => { | ||||
|         if(err){ | ||||
|             console.info(err.stack); | ||||
|         } | ||||
|  | @ -154,7 +154,7 @@ router.get('/admin/order/delete/:id', restrict, (req, res) => { | |||
| // update order status
 | ||||
| router.post('/admin/order/statusupdate', restrict, checkAccess, (req, res) => { | ||||
|     const db = req.app.db; | ||||
|     db.orders.update({ _id: common.getId(req.body.order_id) }, { $set: { orderStatus: req.body.status } }, { multi: false }, (err, numReplaced) => { | ||||
|     db.orders.updateOne({ _id: common.getId(req.body.order_id) }, { $set: { orderStatus: req.body.status } }, { multi: false }, (err, numReplaced) => { | ||||
|         if(err){ | ||||
|             console.info(err.stack); | ||||
|             return res.status(400).json({ message: 'Failed to update the order status' }); | ||||
|  |  | |||
|  | @ -76,7 +76,7 @@ router.post('/checkout_action', (req, res, next) => { | |||
|         }; | ||||
| 
 | ||||
|         // insert order into DB
 | ||||
|         db.orders.insert(orderDoc, (err, newDoc) => { | ||||
|         db.orders.insertOne(orderDoc, (err, newDoc) => { | ||||
|             if(err){ | ||||
|                 console.info(err.stack); | ||||
|             } | ||||
|  |  | |||
|  | @ -67,7 +67,7 @@ router.get('/checkout_return', (req, res, next) => { | |||
|         } | ||||
| 
 | ||||
|         // update the order status
 | ||||
|         db.orders.update({ _id: common.getId(paymentOrderId) }, { $set: { orderStatus: paymentStatus } }, { multi: false }, (err, numReplaced) => { | ||||
|         db.orders.updateOne({ _id: common.getId(paymentOrderId) }, { $set: { orderStatus: paymentStatus } }, { multi: false }, (err, numReplaced) => { | ||||
|             if(err){ | ||||
|                 console.info(err.stack); | ||||
|             } | ||||
|  | @ -186,7 +186,7 @@ router.post('/checkout_action', (req, res, next) => { | |||
|                 res.redirect(redirectUrl); | ||||
|             }else{ | ||||
|                 // no order ID so we create a new one
 | ||||
|                 db.orders.insert(orderDoc, (err, newDoc) => { | ||||
|                 db.orders.insertOne(orderDoc, (err, newDoc) => { | ||||
|                     if(err){ | ||||
|                         console.info(err.stack); | ||||
|                     } | ||||
|  |  | |||
|  | @ -56,7 +56,7 @@ router.post('/checkout_action', (req, res, next) => { | |||
|         }; | ||||
| 
 | ||||
|         // insert order into DB
 | ||||
|         db.orders.insert(orderDoc, (err, newDoc) => { | ||||
|         db.orders.insertOne(orderDoc, (err, newDoc) => { | ||||
|             if(err){ | ||||
|                 console.info(err.stack); | ||||
|             } | ||||
|  |  | |||
|  | @ -124,7 +124,7 @@ router.post('/admin/product/insert', restrict, checkAccess, async (req, res) => | |||
|     } | ||||
| 
 | ||||
|     // Check permalink doesn't already exist
 | ||||
|     const product = await db.products.count({ productPermalink: req.body.productPermalink }); | ||||
|     const product = await db.products.countDocuments({ productPermalink: req.body.productPermalink }); | ||||
|     if(product > 0 && req.body.productPermalink !== ''){ | ||||
|         // permalink exits
 | ||||
|         req.session.message = 'Permalink already exists. Pick a new one.'; | ||||
|  | @ -239,7 +239,7 @@ router.post('/admin/product/removeoption', restrict, checkAccess, async (req, re | |||
|         delete opts[req.body.optName]; | ||||
| 
 | ||||
|         try{ | ||||
|             const updateOption = await db.products.update({ _id: common.getId(req.body.productId) }, { $set: { productOptions: opts } }); | ||||
|             const updateOption = await db.products.updateOne({ _id: common.getId(req.body.productId) }, { $set: { productOptions: opts } }); | ||||
|             if(updateOption.result.nModified === 1){ | ||||
|                 res.status(200).json({ message: 'Option successfully removed' }); | ||||
|                 return; | ||||
|  | @ -273,7 +273,7 @@ router.post('/admin/product/update', restrict, checkAccess, async (req, res) => | |||
|         res.redirect('/admin/product/edit/' + req.body.productId); | ||||
|         return; | ||||
|     } | ||||
|     const count = await db.products.count({ productPermalink: req.body.productPermalink, _id: { $ne: common.getId(product._id) } }); | ||||
|     const count = await db.products.countDocuments({ productPermalink: req.body.productPermalink, _id: { $ne: common.getId(product._id) } }); | ||||
|     if(count > 0 && req.body.productPermalink !== ''){ | ||||
|         // If API request, return json
 | ||||
|         if(req.apiAuthenticated){ | ||||
|  | @ -365,7 +365,7 @@ router.post('/admin/product/update', restrict, checkAccess, async (req, res) => | |||
|     } | ||||
| 
 | ||||
|     try{ | ||||
|         await db.products.update({ _id: common.getId(req.body.productId) }, { $set: productDoc }, {}); | ||||
|         await db.products.updateOne({ _id: common.getId(req.body.productId) }, { $set: productDoc }, {}); | ||||
|         // Update the index
 | ||||
|         indexProducts(req.app) | ||||
|         .then(() => { | ||||
|  | @ -398,7 +398,7 @@ router.get('/admin/product/delete/:id', restrict, checkAccess, async (req, res) | |||
|     const db = req.app.db; | ||||
| 
 | ||||
|     // remove the product
 | ||||
|     await db.products.remove({ _id: common.getId(req.params.id) }, {}); | ||||
|     await db.products.deleteOne({ _id: common.getId(req.params.id) }, {}); | ||||
| 
 | ||||
|     // delete any images and folder
 | ||||
|     rimraf('public/uploads/' + req.params.id, (err) => { | ||||
|  | @ -422,7 +422,7 @@ router.post('/admin/product/published_state', restrict, checkAccess, async (req, | |||
|     const db = req.app.db; | ||||
| 
 | ||||
|     try{ | ||||
|         await db.products.update({ _id: common.getId(req.body.id) }, { $set: { productPublished: common.convertBool(req.body.state) } }, { multi: false }); | ||||
|         await db.products.updateOne({ _id: common.getId(req.body.id) }, { $set: { productPublished: common.convertBool(req.body.state) } }, { multi: false }); | ||||
|         res.status(200).json('Published state updated'); | ||||
|     }catch(ex){ | ||||
|         console.error(colors.red('Failed to update the published state: ' + ex)); | ||||
|  | @ -436,7 +436,7 @@ router.post('/admin/product/setasmainimage', restrict, checkAccess, async (req, | |||
| 
 | ||||
|     try{ | ||||
|         // update the productImage to the db
 | ||||
|         await db.products.update({ _id: common.getId(req.body.product_id) }, { $set: { productImage: req.body.productImage } }, { multi: false }); | ||||
|         await db.products.updateOne({ _id: common.getId(req.body.product_id) }, { $set: { productImage: req.body.productImage } }, { multi: false }); | ||||
|         res.status(200).json({ message: 'Main image successfully set' }); | ||||
|     }catch(ex){ | ||||
|         res.status(400).json({ message: 'Unable to set as main image. Please try again.' }); | ||||
|  | @ -455,7 +455,7 @@ router.post('/admin/product/deleteimage', restrict, checkAccess, async (req, res | |||
|     } | ||||
|     if(req.body.productImage === product.productImage){ | ||||
|         // set the productImage to null
 | ||||
|         await db.products.update({ _id: common.getId(req.body.product_id) }, { $set: { productImage: null } }, { multi: false }); | ||||
|         await db.products.updateOne({ _id: common.getId(req.body.product_id) }, { $set: { productImage: null } }, { multi: false }); | ||||
| 
 | ||||
|         // remove the image from disk
 | ||||
|         fs.unlink(path.join('public', req.body.productImage), (err) => { | ||||
|  |  | |||
|  | @ -71,7 +71,7 @@ router.get('/admin/user/new', restrict, (req, res) => { | |||
| router.get('/admin/user/delete/:id', restrict, (req, res) => { | ||||
|     const db = req.app.db; | ||||
|     if(req.session.isAdmin === true){ | ||||
|         db.users.remove({ _id: common.getId(req.params.id) }, {}, (err, numRemoved) => { | ||||
|         db.users.deleteOne({ _id: common.getId(req.params.id) }, {}, (err, numRemoved) => { | ||||
|             if(err){ | ||||
|                 console.info(err.stack); | ||||
|             } | ||||
|  | @ -120,7 +120,7 @@ router.post('/admin/user/update', restrict, (req, res) => { | |||
|             updateDoc.userPassword = bcrypt.hashSync(req.body.userPassword); | ||||
|         } | ||||
| 
 | ||||
|         db.users.update({ _id: common.getId(req.body.userId) }, | ||||
|         db.users.updateOne({ _id: common.getId(req.body.userId) }, | ||||
|             { | ||||
|                 $set: updateDoc | ||||
|             }, { multi: false }, (err, numReplaced) => { | ||||
|  | @ -147,7 +147,7 @@ router.post('/admin/user/insert', restrict, (req, res) => { | |||
|     const urlParts = new URL(req.header('Referer')); | ||||
| 
 | ||||
|     // Check number of users
 | ||||
|     db.users.count({}, (err, userCount) => { | ||||
|     db.users.countDocuments({}, (err, userCount) => { | ||||
|         let isAdmin = false; | ||||
| 
 | ||||
|         // if no users, setup user as admin
 | ||||
|  | @ -173,7 +173,7 @@ router.post('/admin/user/insert', restrict, (req, res) => { | |||
|                 return; | ||||
|             } | ||||
|             // email is ok to be used.
 | ||||
|             db.users.insert(doc, (err, doc) => { | ||||
|             db.users.insertOne(doc, (err, doc) => { | ||||
|                 // show the view
 | ||||
|                 if(err){ | ||||
|                     if(doc){ | ||||
|  |  | |||
							
								
								
									
										12
									
								
								test/test.js
								
								
								
								
							
							
						
						
									
										12
									
								
								test/test.js
								
								
								
								
							|  | @ -19,11 +19,11 @@ let request = null; | |||
| 
 | ||||
| function setup(db){ | ||||
|     return Promise.all([ | ||||
|         db.cart.remove({}, {}), | ||||
|         db.users.remove({}, {}), | ||||
|         db.customers.remove({}, {}), | ||||
|         db.products.remove({}, {}), | ||||
|         db.orders.remove({}, {}) | ||||
|         db.cart.deleteMany({}, {}), | ||||
|         db.users.deleteMany({}, {}), | ||||
|         db.customers.deleteMany({}, {}), | ||||
|         db.products.deleteMany({}, {}), | ||||
|         db.orders.deleteMany({}, {}) | ||||
|     ]) | ||||
|     .then(() => { | ||||
|         return Promise.all([ | ||||
|  | @ -65,7 +65,7 @@ test.before(async () => { | |||
|                     productComment: null | ||||
|                 }); | ||||
|                 order.orderDate = new Date(); | ||||
|                 await db.orders.insert(order); | ||||
|                 await db.orders.insertOne(order); | ||||
|             }); | ||||
| 
 | ||||
|             // Index everything
 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue