Decouple config package

This commit is contained in:
Maksym Pavlenko
2022-01-02 14:57:10 +02:00
parent 0edf2836bb
commit 54834550d5
21 changed files with 156 additions and 161 deletions
+8 -2
View File
@@ -11,7 +11,6 @@ import (
"github.com/pkg/errors"
log "github.com/sirupsen/logrus"
"github.com/mxpv/podsync/pkg/config"
"github.com/mxpv/podsync/pkg/model"
)
@@ -23,13 +22,20 @@ const (
episodePath = "episode/%s/%s" // FeedID + EpisodeID
)
// BadgerConfig represents BadgerDB configuration parameters
// See https://github.com/dgraph-io/badger#memory-usage
type BadgerConfig struct {
Truncate bool `toml:"truncate"`
FileIO bool `toml:"file_io"`
}
type Badger struct {
db *badger.DB
}
var _ Storage = (*Badger)(nil)
func NewBadger(config *config.Database) (*Badger, error) {
func NewBadger(config *Config) (*Badger, error) {
var (
dir = config.Dir
)
+8 -9
View File
@@ -10,7 +10,6 @@ import (
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"github.com/mxpv/podsync/pkg/config"
"github.com/mxpv/podsync/pkg/model"
)
@@ -20,7 +19,7 @@ func TestNewBadger(t *testing.T) {
dir, err := ioutil.TempDir("", "podsync-badger-")
require.NoError(t, err)
db, err := NewBadger(&config.Database{Dir: dir})
db, err := NewBadger(&Config{Dir: dir})
require.NoError(t, err)
err = db.Close()
@@ -35,7 +34,7 @@ func TestBadger_Version(t *testing.T) {
assert.NoError(t, err)
defer os.RemoveAll(dir)
db, err := NewBadger(&config.Database{Dir: dir})
db, err := NewBadger(&Config{Dir: dir})
require.NoError(t, err)
defer db.Close()
@@ -49,7 +48,7 @@ func TestBadger_AddFeed(t *testing.T) {
assert.NoError(t, err)
defer os.RemoveAll(dir)
db, err := NewBadger(&config.Database{Dir: dir})
db, err := NewBadger(&Config{Dir: dir})
require.NoError(t, err)
defer db.Close()
@@ -63,7 +62,7 @@ func TestBadger_GetFeed(t *testing.T) {
assert.NoError(t, err)
defer os.RemoveAll(dir)
db, err := NewBadger(&config.Database{Dir: dir})
db, err := NewBadger(&Config{Dir: dir})
require.NoError(t, err)
defer db.Close()
@@ -83,7 +82,7 @@ func TestBadger_WalkFeeds(t *testing.T) {
assert.NoError(t, err)
defer os.RemoveAll(dir)
db, err := NewBadger(&config.Database{Dir: dir})
db, err := NewBadger(&Config{Dir: dir})
require.NoError(t, err)
defer db.Close()
@@ -109,7 +108,7 @@ func TestBadger_DeleteFeed(t *testing.T) {
assert.NoError(t, err)
defer os.RemoveAll(dir)
db, err := NewBadger(&config.Database{Dir: dir})
db, err := NewBadger(&Config{Dir: dir})
require.NoError(t, err)
defer db.Close()
@@ -134,7 +133,7 @@ func TestBadger_UpdateEpisode(t *testing.T) {
assert.NoError(t, err)
defer os.RemoveAll(dir)
db, err := NewBadger(&config.Database{Dir: dir})
db, err := NewBadger(&Config{Dir: dir})
require.NoError(t, err)
defer db.Close()
@@ -164,7 +163,7 @@ func TestBadger_WalkEpisodes(t *testing.T) {
assert.NoError(t, err)
defer os.RemoveAll(dir)
db, err := NewBadger(&config.Database{Dir: dir})
db, err := NewBadger(&Config{Dir: dir})
require.NoError(t, err)
defer db.Close()
+7
View File
@@ -0,0 +1,7 @@
package db
type Config struct {
// Dir is a directory to keep database files
Dir string `toml:"dir"`
Badger *BadgerConfig `toml:"badger"`
}