37 lines
718 B
Go

package database
import (
"git.markbailey.dev/cerbervs/ptpp/lib/database/development"
"git.markbailey.dev/cerbervs/ptpp/lib/database/production"
"git.markbailey.dev/cerbervs/ptpp/lib/repository"
"os"
"git.markbailey.dev/cerbervs/ptpp/lib/logger"
)
type IDB interface {
Info(string)
Warn(string)
Error(err error)
Repo() repository.IRepository
}
func ChooseDB() IDB {
l := logger.NewDBLogger()
if os.Getenv("HTMX_APP_ENV") == "production" {
db, err := production.NewProdDB(l)
if err != nil {
l.Error(l.Wrap(err, "Error creating production database"))
}
return db
}
db, err := development.NewTestDB(l)
if err != nil {
l.Error(l.Wrap(err, "Error creating test database"))
}
return db
}