import { MongoClient } from "mongodb";

const mongoClient = new MongoClient("mongodb://127.0.0.1:27017/local");
await mongoClient.connect();
const database = mongoClient.db("Nucleus");
const collection = database.collection("history");

for (let i = 0; i < 100; i++) {
    // Select a type
    let type = ["join", "unban", "leave", "ban", "softban", "kick", "mute", "purge", "warn", "nickname"][Math.floor(Math.random() * 9)];
    // Select a random date in the last year
    let date = new Date(new Date().getTime() - Math.floor(Math.random() * 31536000000));
    // Add to database
    await collection.insertOne({
        type: type,
        occurredAt: date,
        user: "438733159748599813",
        guild: "864185037078790195",
        moderator: (["unban", "ban", "softban", "kick", "mute", "purge", "warn"].includes(type)) ? "438733159748599813" : null,
        reason: (["unban", "ban", "softban", "kick", "mute", "purge", "warn"].includes(type)) ? "Test" : null,
        before: (type === "nickname") ? "TestBefore" : null,
        after: (type === "nickname") ? "TestAfter" : null,
        amount: (type === "purge") ? Math.floor(Math.random() * 100) : null
    });
    console.log("Inserted document " + i);
}
