Setup and migration UI refactor (#1190)

* Make config instance-based
* Remove config dependency in paths
* Refactor config init
* Allow startup without database
* Get system status at UI initialise
* Add setup wizard
* Cache and Metadata optional. Database mandatory
* Handle metadata not set during full import/export
* Add links
* Remove config check middleware
* Stash not mandatory
* Panic on missing mandatory config fields
* Redirect setup to main page if setup not required
* Add migration UI
* Remove unused stuff
* Move UI initialisation into App
* Don't create metadata paths on RefreshConfig
* Add folder selector for generated in setup
* Env variable to set and create config file.
Make docker images use a fixed config file.
* Set config file during setup
This commit is contained in:
WithoutPants
2021-04-12 09:31:33 +10:00
committed by GitHub
parent c38660d209
commit f6ffda7504
52 changed files with 1467 additions and 682 deletions

View File

@@ -13,31 +13,27 @@ type Paths struct {
SceneMarkers *sceneMarkerPaths
}
func NewPaths() *Paths {
func NewPaths(generatedPath string) *Paths {
p := Paths{}
p.Generated = newGeneratedPaths()
p.Generated = newGeneratedPaths(generatedPath)
p.Scene = newScenePaths(p)
p.SceneMarkers = newSceneMarkerPaths(p)
return &p
}
func GetConfigDirectory() string {
func GetStashHomeDirectory() string {
return filepath.Join(utils.GetHomeDirectory(), ".stash")
}
func GetDefaultDatabaseFilePath() string {
return filepath.Join(GetConfigDirectory(), "stash-go.sqlite")
}
func GetDefaultConfigFilePath() string {
return filepath.Join(GetConfigDirectory(), "config.yml")
return filepath.Join(GetStashHomeDirectory(), "stash-go.sqlite")
}
func GetSSLKey() string {
return filepath.Join(GetConfigDirectory(), "stash.key")
return filepath.Join(GetStashHomeDirectory(), "stash.key")
}
func GetSSLCert() string {
return filepath.Join(GetConfigDirectory(), "stash.crt")
return filepath.Join(GetStashHomeDirectory(), "stash.crt")
}