dumping all of the database and utilites into the project, will work on the managers next

This commit is contained in:
2020-06-11 13:53:51 -04:00
parent 2cbdf21a81
commit 0ecb0b96ce
10 changed files with 741 additions and 0 deletions

View File

@@ -0,0 +1,32 @@
package database
import (
"io"
logger "github.com/apsdehal/go-logger"
"github.com/asdine/storm"
)
type DB struct {
*storm.DB
*logger.Logger
}
// NewDB returns a new database object,
// it configures the database for you.
func NewDB(dbPath, format string, logLevel int, logWriter io.WriteCloser) (*DB, error) {
//Note! Do not use logger as you have no idea if logWriter has been configured for output yet
var db DB
log, err := logger.New("db logger", 1, logWriter)
if err != nil {
return &db, err
}
log.SetLogLevel(logger.LogLevel(logLevel))
log.SetFormat(format)
db.Logger = log
if err := db.ConfigureDB(dbPath); err != nil {
log.ErrorF("Error configuring the database ", err)
return &db, err
}
return &db, nil
}