This commit is contained in:
2024-12-01 15:56:24 +01:00
commit e241319e6e
13 changed files with 525 additions and 0 deletions

View File

@@ -0,0 +1,53 @@
package database
import (
"log"
//"time"
"fmt"
"ma/counter"
"gorm.io/driver/postgres"
"gorm.io/gorm"
)
type DatabaseHandle struct {
initialized bool
dbh *gorm.DB
}
func NewDatabaseHandle() *DatabaseHandle {
var db DatabaseHandle
// inject the whole database configuration via the well-known PG* env variables
conn, err := gorm.Open(postgres.Open(""))
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 (self *DatabaseHandle) StoreMessage(message *Message) {
if ! self.initialized {
log.Printf("Database connection not initialized, can not store, message %s lost", message)
counter.F("Stored")
return
}
result := self.dbh.Create(message)
if result.Error != nil {
log.Printf("Unable to insert, message %s lost, error: %s", message, result.Error)
counter.F("Stored")
return
}
//log.Println("Successfully stored message")
counter.S("Stored")
}