filebrowser/storage/bolt/bolt.go

32 lines
848 B
Go
Raw Normal View History

package bolt
import (
"github.com/asdine/storm/v3"
2020-05-31 23:12:36 +00:00
"github.com/filebrowser/filebrowser/v2/auth"
"github.com/filebrowser/filebrowser/v2/settings"
"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.
func NewStorage(db *storm.DB) (*storage.Storage, error) {
2020-05-31 23:12:36 +00: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)
2024-04-01 16:24:06 +00:00
err := save(db, "version", 2)
if err != nil {
return nil, err
}
return &storage.Storage{
2020-05-31 23:12:36 +00:00
Auth: authStore,
Users: userStore,
Share: shareStore,
Settings: settingsStore,
}, nil
}