package database import ( "log" //"time" "gorm.io/driver/postgres" "gorm.io/gorm" ) type DatabaseHandle struct { initialized bool dbh *gorm.DB } func NewDatabaseHandle(dsn string) *DatabaseHandle { var db DatabaseHandle conn, err := gorm.Open(postgres.Open(dsn)) if err != nil { log.Printf("Unable to open database connection: %s", err) db.initialized = false } else { db.dbh = conn db.initialized = true log.Println("Database connection opened") } return &db } func (dbh *DatabaseHandle) StoreMeasurement(measurement *Measurement) { if ! dbh.initialized { log.Println("Database connection not initialized, can not store, measurement lost") return } result := dbh.dbh.Create(measurement) if result.Error != nil { log.Printf("Unable to insert measurement: %s", result.Error) return } log.Println("Successfully stored measurement") }