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 }