diff --git a/backend/db/db.go b/backend/db/db.go index 93356aa..5ad94c6 100644 --- a/backend/db/db.go +++ b/backend/db/db.go @@ -70,13 +70,22 @@ func (conn *DatabaseConnection) QueryGlobalStats() GlobalStatsCollection { return stats } -func CreateDBConnection(uri string) DatabaseConnection { - client, _ := mongo.Connect(options.Client().ApplyURI(uri)) - return DatabaseConnection{client} +func CreateDBConnection(uri string) *DatabaseConnection { + client, err := mongo.Connect(options.Client().ApplyURI(uri)) + if err != nil { + slog.Error("MongoDB connection failed", "error", err) + return nil + } + return &DatabaseConnection{client} } var Conn DatabaseConnection -func InitDB(uri string) { - Conn = CreateDBConnection(uri) +func InitDB(uri string) bool { + dbConn := CreateDBConnection(uri) + if dbConn == nil { + return false + } + Conn = *dbConn + return true } diff --git a/backend/main.go b/backend/main.go index 7537209..ee2e420 100644 --- a/backend/main.go +++ b/backend/main.go @@ -22,7 +22,11 @@ func main() { slog.Error("MONGO_URI environment variable not set!") return } - db.InitDB(mongoUri) + ok := db.InitDB(mongoUri) + if !ok { + slog.Error("Initializing MongoDB database failed") + return + } game.LoadRooms() roomTicker := time.NewTicker(1 * time.Second)