RaptusBackend / helpers /LeaderBoardSetup.js
GitHub Actions
Initial commit
df72131
const Team = require("../models/TeamModel");
const Leaderboard = require("../models/LeaderboardModel");
async function createLeaderboardDocuments() {
try {
// Retrieve all teams from the Team collection
const teams = await Team.find();
// Iterate over each team and create a leaderboard document
for (const team of teams) {
// Check if a leaderboard document already exists for the team
const existingLeaderboard = await Leaderboard.findOne({ TeamID: team._id });
if (!existingLeaderboard) {
// Create a new leaderboard document for the team
const leaderboard = new Leaderboard({
TeamID: team._id,
TeamName: team.TeamName,
Points: 0,
Time: new Date(),
RoomID: team.RoomID,
Round: 1,
Questions: { Solved: [], Unsolved: [] }
});
// Save the leaderboard document
await leaderboard.save();
console.log(`Created leaderboard document for team: ${team.TeamName}`);
}
}
console.log("Leaderboard documents created for all teams.");
} catch (error) {
console.error("Error creating leaderboard documents:", error);
}
}