All files / src/config database.ts

0% Statements 0/17
0% Branches 0/4
0% Functions 0/4
0% Lines 0/16

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32                                                               
import mongoose from "mongoose";
 
export const setupDatabase = async () => {
    try {
        const databaseUrl = process.env.DATABASE_URL || "mongodb://localhost:27017/smartclassroom";
        await mongoose.connect(databaseUrl, {
            dbName: "smartclassroom",
        });
        console.log("MongoDB connected");
 
    } catch (error) {
        console.error("MongoDB connection error:", error);
        process.exit(1);
    }
 
    mongoose.connection.on("connected", () => {
        console.log("Mongoose connected to DB");
    });
 
    mongoose.connection.on("error", (err: unknown) => {
        if (err instanceof Error) {
            console.error("Mongoose connection error:", err.message);
        } else {
            console.error("Mongoose connection error:", err);
        }
    });
 
    mongoose.connection.on("disconnected", () => {
        console.log("Mongoose disconnected");
    });
};