bugfixes
This commit is contained in:
parent
a12d9dd1a9
commit
fe83e30725
BIN
backend/dist/nsfwapp-linux-amd64
vendored
BIN
backend/dist/nsfwapp-linux-amd64
vendored
Binary file not shown.
BIN
backend/dist/nsfwapp.exe
vendored
BIN
backend/dist/nsfwapp.exe
vendored
Binary file not shown.
BIN
backend/dist/nsfwapp_amd64.deb
vendored
BIN
backend/dist/nsfwapp_amd64.deb
vendored
Binary file not shown.
@ -133,12 +133,43 @@ func buildLocalPostgresDSN(s RecorderSettings) (string, error) {
|
|||||||
return u.String(), nil
|
return u.String(), nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func ensureLocalPostgresCluster(ctx context.Context, dataDir string, port int, user, database string) error {
|
func ensureLocalPostgresDataDir(s RecorderSettings) (string, error) {
|
||||||
|
normalizePostgresSettings(&s)
|
||||||
|
if s.PostgresMode != postgresModeLocal {
|
||||||
|
return "", nil
|
||||||
|
}
|
||||||
|
|
||||||
|
dataDir, err := resolvePathRelativeToApp(s.PostgresDataDir)
|
||||||
|
if err != nil {
|
||||||
|
return "", err
|
||||||
|
}
|
||||||
|
if err := ensureLocalPostgresDataDirPath(dataDir); err != nil {
|
||||||
|
return "", err
|
||||||
|
}
|
||||||
|
return dataDir, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func ensureLocalPostgresDataDirPath(dataDir string) error {
|
||||||
dataDir = filepath.Clean(strings.TrimSpace(dataDir))
|
dataDir = filepath.Clean(strings.TrimSpace(dataDir))
|
||||||
if dataDir == "" {
|
if dataDir == "" {
|
||||||
return appErrorf("postgresDataDir ist leer")
|
return appErrorf("postgresDataDir ist leer")
|
||||||
}
|
}
|
||||||
if err := os.MkdirAll(filepath.Dir(dataDir), 0755); err != nil {
|
if err := os.MkdirAll(dataDir, 0755); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
info, err := os.Stat(dataDir)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if !info.IsDir() {
|
||||||
|
return appErrorf("postgresDataDir ist kein Ordner: %s", dataDir)
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func ensureLocalPostgresCluster(ctx context.Context, dataDir string, port int, user, database string) error {
|
||||||
|
dataDir = filepath.Clean(strings.TrimSpace(dataDir))
|
||||||
|
if err := ensureLocalPostgresDataDirPath(dataDir); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -495,6 +495,12 @@ func recordSettingsHandler(w http.ResponseWriter, r *http.Request) {
|
|||||||
http.Error(w, "Database URL fehlt", http.StatusBadRequest)
|
http.Error(w, "Database URL fehlt", http.StatusBadRequest)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
if in.PostgresMode == postgresModeLocal {
|
||||||
|
if _, err := ensureLocalPostgresDataDir(in.RecorderSettings); err != nil {
|
||||||
|
http.Error(w, "konnte PostgreSQL-Datenordner nicht erstellen: "+err.Error(), http.StatusBadRequest)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// 2) Migration: wenn in.DatabaseURL ein Passwort enthält, extrahieren
|
// 2) Migration: wenn in.DatabaseURL ein Passwort enthält, extrahieren
|
||||||
// und URL ohne Passwort zurückschreiben.
|
// und URL ohne Passwort zurückschreiben.
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user