Files
filebrowser/storage/bolt/bolt.go
T

32 lines
845 B
Go
Raw Normal View History

2019-01-05 22:44:33 +00:00
package bolt
import (
"github.com/asdine/storm"
2020-06-01 01:12:36 +02:00
2019-01-05 22:44:33 +00:00
"github.com/filebrowser/filebrowser/v2/auth"
2019-01-05 23:01:16 +00:00
"github.com/filebrowser/filebrowser/v2/settings"
2019-01-05 22:44:33 +00:00
"github.com/filebrowser/filebrowser/v2/share"
"github.com/filebrowser/filebrowser/v2/storage"
"github.com/filebrowser/filebrowser/v2/users"
)
// NewStorage creates a storage.Storage based on Bolt DB.
2019-01-09 21:37:47 +00:00
func NewStorage(db *storm.DB) (*storage.Storage, error) {
2020-06-01 01:12:36 +02:00
userStore := users.NewStorage(usersBackend{db: db})
shareStore := share.NewStorage(shareBackend{db: db})
settingsStore := settings.NewStorage(settingsBackend{db: db})
authStore := auth.NewStorage(authBackend{db: db}, userStore)
2019-01-05 22:44:33 +00:00
2019-01-09 21:37:47 +00:00
err := save(db, "version", 2)
if err != nil {
return nil, err
}
2019-01-05 22:44:33 +00:00
return &storage.Storage{
2020-06-01 01:12:36 +02:00
Auth: authStore,
Users: userStore,
Share: shareStore,
Settings: settingsStore,
2019-01-09 21:37:47 +00:00
}, nil
2019-01-05 22:44:33 +00:00
}