All files / src/controllers/users-controllers deleteLocation.js

71.42% Statements 5/7
100% Branches 0/0
100% Functions 1/1
71.42% Lines 5/7

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31          2x 2x 2x 2x                                 2x          
import UsersModel from "../../models/Users.js";
import shortCutsPathesInDataBase from "../../CONSTANT/shortCutsPathesInDataBase.js";
 
 
export default async function deleteLocation(userId, locationId) {
    try {
        const { selectedLocation, locationsList } = shortCutsPathesInDataBase.userAddressPathes;
        const filter = { _id: userId };
        const { modifiedCount } = await UsersModel.bulkWrite([
            {
                updateOne: {
                    filter,
                    update: { $pull: { [locationsList]: { id: locationId } } }
                },
            },
            {
                updateOne: {
                    filter: {
                        ...filter,
                        [selectedLocation + ".id"]: locationId
                    },
                    update: { $set: { [selectedLocation]: null } }
                },
            }
        ])
        return !!modifiedCount;
    } catch (error) {
        console.log(error)
        return null;
    }
}