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
|
||||
}
|
||||
|
||||
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))
|
||||
if dataDir == "" {
|
||||
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
|
||||
}
|
||||
|
||||
|
||||
@ -495,6 +495,12 @@ func recordSettingsHandler(w http.ResponseWriter, r *http.Request) {
|
||||
http.Error(w, "Database URL fehlt", http.StatusBadRequest)
|
||||
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
|
||||
// und URL ohne Passwort zurückschreiben.
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user