/** * One-time migration: recalculate rate (total stars) and user_score (average) * for all users. Run from modstagram-back: * node scripts/recalculateAllUserRatings.js */ require('dotenv').config() const mongoose = require('mongoose') const UserModel = require('../models/UserModel') const { recalculateUserRating } = require('../utils/commentRating') async function main() { const uri = process.env.DATABASE_URL || process.env.MONGODB_URI || process.env.DB_URL if (!uri) { console.error('DATABASE_URL (or MONGODB_URI/DB_URL) required') process.exit(1) } await mongoose.connect(uri) const users = await UserModel.find({}, '_id').lean() console.log(`Recalculating ${users.length} users...`) for (const user of users) { await recalculateUserRating(user._id) } console.log('Done.') await mongoose.disconnect() } main().catch((err) => { console.error(err) process.exit(1) })