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
 | 
						|
}
 |