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

75% Statements 6/8
50% Branches 1/2
100% Functions 1/1
75% Lines 6/8

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            77x     1x 1x 1x 1x             1x            
import shortCutsPathesInDataBase from "../../CONSTANT/shortCutsPathesInDataBase.js";
import UsersModel from "../../models/Users.js";
import crypto from "crypto";
 
const {
    userAddressPathes: { locationsList, selectedLocation }
} = shortCutsPathesInDataBase;
 
export default async function addLocation(userId, theLocation) {
    try {
        const locationId = crypto.randomUUID();
        theLocation.id = locationId
        const { modifiedCount } = await UsersModel.updateOne(
            { _id: userId },
            {
                $push: { [locationsList]: { $each: [theLocation], $position: 0 } },
                $set: { [selectedLocation]: theLocation }
            }
        );
        return !!modifiedCount ? locationId : false;
    } catch (error) {
        console.log(error)
        return null;
    }
}