20 lines
698 B
Go
20 lines
698 B
Go
package bolt
|
|
|
|
import (
|
|
"github.com/asdine/storm/v3"
|
|
|
|
"github.com/gtsteffaniak/filebrowser/auth"
|
|
"github.com/gtsteffaniak/filebrowser/settings"
|
|
"github.com/gtsteffaniak/filebrowser/share"
|
|
"github.com/gtsteffaniak/filebrowser/users"
|
|
)
|
|
|
|
// NewStorage creates a storage.Storage based on Bolt DB.
|
|
func NewStorage(db *storm.DB) (*auth.Storage, *users.Storage, *share.Storage, *settings.Storage, error) {
|
|
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)
|
|
return authStore, userStore, shareStore, settingsStore, nil
|
|
}
|