fix(backend): make sure database connection was successful before continuing

This commit is contained in:
2025-03-11 17:50:25 +01:00
parent 1597fb9b31
commit 9088916f92
2 changed files with 19 additions and 6 deletions

View File

@ -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
}

View File

@ -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)