Spaces:
Running
Running
File size: 614 Bytes
44eba2f 1f6a1b4 44eba2f | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | const User = require('../models/User');
const addXP = async (userId, amount) => {
let user = await User.findOne({ userId });
if (!user) {
user = await User.create({ userId });
}
user.xp += amount;
const nextLevelXP = user.level * 1000;
if (user.xp >= nextLevelXP) {
user.level += 1;
user.xp = 0; // Reset or keep overflow? Let's reset for simplicity
// Return true if leveled up
await user.save();
return { leveledUp: true, level: user.level };
}
await user.save();
return { leveledUp: false };
};
module.exports = { addXP };
|