Inspecting Express app source code
Exploiting Lodash _.set() function
app.post("/recommend-activity/:friendId", (req, res) => {
if (!req.session.user) {
return res.status(401).send("User not signed in");
}
const { friendId } = req.params;
const { activityType, activityName } = req.body;
const friend = friends.find((f) => f.id === parseInt(friendId));
if (!friend) {
console.log("Friend not found");
return res.status(404).send("Friend not found");
}
try {
_.set(friend, activityType, activityName);
console.log("Session user:", req.session.user);
if (req.session.user && req.session.user.id == friendId) {
console.log("Session user:", req.session.user);
req.session.user = friend;
}
console.log("Updated friend:", friend); // Log the updated friend object
} catch (e) {
console.log("Error in recommending activity:", e);
return res.status(400).send("Error in recommending activity");
}
res.redirect(`/friend/${friendId}`);
});Last updated
