| import User from '../models/User.js'; |
|
|
| export const updateKarma = async (userId, change, reason) => { |
| try { |
| const user = await User.findById(userId); |
| if (!user) return; |
|
|
| |
| let newScore = user.karma + change; |
| |
| |
| if (newScore > 100) newScore = 100; |
| if (newScore < 0) newScore = 0; |
|
|
| user.karma = newScore; |
|
|
| |
| if (newScore < 30) { |
| user.flags.isBanned = true; |
| console.log(`🚫 BANNED User ${userId} (Karma: ${newScore})`); |
| } |
|
|
| |
| |
| console.log(`Karma Update [${userId}]: ${change} (${reason}) => ${newScore}`); |
|
|
| await user.save(); |
| return user; |
| } catch (err) { |
| console.error("Karma Update Failed", err); |
| } |
| }; |
|
|