1
0
Fork 0
mirror of https://github.com/anyproto/any-sync.git synced 2025-06-07 21:47:02 +09:00
any-sync/client/badgerprovider/service.go
Sergey Cherepanov 17e37fb8fb
refactor configs
2022-12-27 16:50:20 +03:00

44 lines
804 B
Go

package badgerprovider
import (
"context"
"github.com/anytypeio/go-anytype-infrastructure-experiments/common/app"
"github.com/dgraph-io/badger/v3"
)
type BadgerProvider interface {
app.ComponentRunnable
Badger() *badger.DB
}
var CName = "client.badgerprovider"
type service struct {
db *badger.DB
}
func New() BadgerProvider {
return &service{}
}
func (s *service) Init(a *app.App) (err error) {
cfg := a.MustComponent("config").(configGetter).GetStorage()
s.db, err = badger.Open(badger.DefaultOptions(cfg.Path))
return
}
func (s *service) Name() (name string) {
return CName
}
func (s *service) Badger() *badger.DB {
return s.db
}
func (s *service) Run(ctx context.Context) (err error) {
return
}
func (s *service) Close(ctx context.Context) (err error) {
return s.db.Close()
}