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