//if false, set isRestricted to false // Change user state (isRestricted) to true User.findOneAndUpdate( { _id: userId }, { $set: { isRestricted: false } }, { new: true, useFindAndModify: false } ).then(user => { res.status(200).json({ message: "User is un Restricted", user }); });
function updateCompany(company, callback) { validateCompany(company, (errValdation, c) => { if (errValdation) return callback (errValdation); Company.findOneAndUpdate({ _id: c.id }, c, (err, data) => { if (err) return callback(err); return callback(null, data); }); }); }
async update(req, res) { const product = await Product.findOneAndUpdate(req.params.id, req.body, { new: true} ) return res.json(product) }
function savePassword(userId, password, callback) { password = password.trim(); if (password.length < validations.password.minLength.value) return callback(validations.password.minLength.message); utils.hash(password.trim(), (err, hash) => { if (err) { logger.error(err); return callback(err); } const user = { password: hash }; User.findOneAndUpdate({ _id: userId }, user, (err2, data) => { if (err2) { logger.error(err2); return callback(err2); } return callback(null, data); }); }); }
// we want to change the item state in the orders // so the customer who ordered the product can track // the order state Order.findOneAndUpdate( { products: { $elemMatch: { _id: mongoose.Types.ObjectId(orderId) } } }, { $set: { "products.$.orderState.shipped": true } }, { new: true, useFindAndModify: false }, (err, order) => { if (err) { res.status(400).json({ message: "Couldn't mark shipped, try again.", err }); } else { // order contains the whole items in the order and we want to return just our updated item let shippedOrder = order.products.filter(item => item._id == req.query.orderId); let updatedItemOnly = shippedOrder[0]; res .status(200) .json({ message: "Marked as shipped", shippedOrder: updatedItemOnly }); } } );
const updateBusinesUserById = (data) => { if (data.role === 'user' || data.role === 'businessUser') { return false; } return BusinessUser.findByIdAndUpdate(data.params.businessUserId, { email: data.body.email }) .then(updatedUser => Business.findOneAndUpdate( { ownerId: updatedUser.id }, { brandName: data.body.brandName, mobileNumbers: mobileNumberParaser(data.body.mobileNumbers) } ).then((updatedBusiness) => { const returnedObject = { email: updatedUser.email, brandName: updatedBusiness.brandName }; return returnedObject; })) .catch(() => false); }
Cart.findOneAndUpdate( { user: userId }, { $set: { address: req.body.address } }, { new: true, useFindAndModify: false } ).exec((err, cart) => { if (err) { res.status(400).json({ message: "Couldn't update address", err }); } else { res.status(200).json(cart); } });
Cart.findOneAndUpdate( Cart.findOneAndUpdate( { user: userId }, { totalPrice: total },
Wishlist.findOneAndUpdate( { user: userId }, { $pull: { items: { product: req.query.productId } } }, { new: true, useFindAndModify: false }, err => { if (err) { res.status(400).json({ message: "Couldn't find wish list", err }); } else { // we need to populate the cart products again Wishlist.findOne({ user: userId }) .populate("items.product") .exec((err, wishlist) => { if (err) { res.status(400).json({ message: "Couldn't find wish List", err }); } else { res.status(200).json({ message: "Deleted Succefully", wishlist }); } }); } } );
// this function to deactivate the user in User and Shipper collections function deactivateShipper() { // Change user state (isShipper) to false User.findOneAndUpdate( { _id: shipperId }, { $set: { isShipper: false } }, { new: true, useFindAndModify: false } ).then(user => { //if isShipper false, then we wanna deactivate that shipper Shipper.findOneAndUpdate( { user: shipperId }, { $set: { isActiveShipper: false } }, { new: true, useFindAndModify: false } ).then(shipper => { res.status(200).json({ message: "User isn't shipper anymore", user }); }); }); }
function updateUser(user, isRoleRequired, callback) { validateUser(user, isRoleRequired, (errValdation, u) => { if (errValdation) return callback (errValdation); User.findOneAndUpdate({ _id: u.id }, u, (err, data) => { if (err) return callback(err); return callback(null, data); }); }); }
Cart.findOne({ user: userId }) .populate("items.product") .exec((err, cart) => { if (err) { res.status(400).json({ message: "Couldn't find cart", err }); } else { if (!cart) { res.status(400).json({ message: "no cart" }); } else { let cartItems = cart.items; let total = cartItems.reduce(function (a, b) { return a + b.product.price * b.quantity; }, 0); Cart.findOneAndUpdate( { user: userId }, { totalPrice: total }, { new: true, useFindAndModify: false } ) .populate("items.product") .then(cart => { res.status(200).json({ message: "cart", cart }); }); } } });
// Change user state (isRestricted) to true User.findOneAndUpdate( { _id: userId }, { $set: { isRestricted: true } }, { new: true, useFindAndModify: false } ).then(user => { res.status(200).json({ message: "User Restricted", user }); });
// Change user state (isAdmin) to true User.findOneAndUpdate( { _id: adminId }, { $set: { isAdmin: true } }, { new: true, useFindAndModify: false } ).then(user => { res.status(200).json({ message: "Added as admin", user }); });
//if false, set isAdmin to false // Change user state (isAdmin) to true User.findOneAndUpdate( { _id: adminId }, { $set: { isAdmin: false } }, { new: true, useFindAndModify: false } ).then(user => { res.status(200).json({ message: "Admin is removed", user }); });