33 lines
374 B
Go
33 lines
374 B
Go
package service
|
|
|
|
import (
|
|
"git.markbailey.dev/cerbervs/ptpp/lib/database"
|
|
"sync"
|
|
)
|
|
|
|
var (
|
|
db interface{}
|
|
dlock = &sync.Mutex{}
|
|
)
|
|
|
|
type SDB struct{}
|
|
|
|
func NewSDB() *SDB {
|
|
return &SDB{}
|
|
}
|
|
|
|
func (s *SDB) Name() string {
|
|
return "db"
|
|
}
|
|
|
|
func (s *SDB) Use() interface{} {
|
|
if db == nil {
|
|
dlock.Lock()
|
|
defer dlock.Unlock()
|
|
|
|
db = database.ChooseDB()
|
|
}
|
|
|
|
return db
|
|
}
|