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 return stats
} }
func CreateDBConnection(uri string) DatabaseConnection { func CreateDBConnection(uri string) *DatabaseConnection {
client, _ := mongo.Connect(options.Client().ApplyURI(uri)) client, err := mongo.Connect(options.Client().ApplyURI(uri))
return DatabaseConnection{client} if err != nil {
slog.Error("MongoDB connection failed", "error", err)
return nil
}
return &DatabaseConnection{client}
} }
var Conn DatabaseConnection var Conn DatabaseConnection
func InitDB(uri string) { func InitDB(uri string) bool {
Conn = CreateDBConnection(uri) 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!") slog.Error("MONGO_URI environment variable not set!")
return return
} }
db.InitDB(mongoUri) ok := db.InitDB(mongoUri)
if !ok {
slog.Error("Initializing MongoDB database failed")
return
}
game.LoadRooms() game.LoadRooms()
roomTicker := time.NewTicker(1 * time.Second) roomTicker := time.NewTicker(1 * time.Second)