|
|
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); |
|
|
} |
|
|
}; |
|
|
|